java - JLabel 的弹出窗口上没有显示任何内容
问题描述
我正在尝试创建一个允许弹出图像和文本的简单脚本。窗口正在弹出,但它是空白的,上面什么都没有。有人知道我在做什么错吗?
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.*;
public class Thermomter {
public static void main(String[] args) {
ImageIcon cold = new ImageIcon("cold_thermomtor.png");
JLabel label = new JLabel();
label.setIcon(cold);
label.setText("omg this is painfull");
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.setVisible(true);
frame.add(label);
}
}
解决方案
调用frame.pack();
beforesetVisible(true)
将确保内部的所有元素在显示它们之前都正确调整大小。
pack 方法调整框架的大小,使其所有内容都等于或高于它们的首选大小 [...]
[...] pack 让框架布局管理器负责框架大小,布局管理器擅长调整平台依赖性和其他影响组件大小的因素。
推荐阅读
- cordova - 在 IOS 设备中的 ionic 4 本地通知上捕获点击事件
- django - Http 响应 200 1033
- python - 使用 Matplotlib 在圆环图上显示百分比
- python - Python 和 Telethon:如何处理 sw 分发
- python - mongoengine 启用“allowDiskUse”
- apache-nifi - Windows 操作系统是否支持 Apache NiFi Registry(0.5.0)
- angular - Angular Multiple Modules - 如何让外部 NPM 组件跨 Angular 中的多个模块工作?
- c# - UWP上的高斯模糊效果刷不了?
- swift - 类型“缓存”不符合协议“可编码”
- javascript - 从路由器设置时道具未更新