图像未显示在 jPanel 中
Image not being displayed in jPanel
所以我试图在 jPanel 中的 jFrame 中显示图像。
(我想这就是你在 jFrame 中显示 JPEG/PNG 的方式)
这是我正在做的事情:
在 jFrame 的构造函数中,我下载图像,动态创建一个 ImageIcon 和一个 jLabel(设置图标),并将其插入到 jPanel 中。
我之前使用 NetBeans IDE 创建了 jPanel,其中 jPanelImage 在 initComponents() 中定义。
如果我使用调试器检查代码,他会下载图像 属性 而不会抛出任何异常。
它也可以正常运行代码,没有任何问题。
但是我的 jFrame 仍然是空的。
这是代码:
public TransmissionFrame() {
initComponents();
init();
}
private void init() {
JLabel label = new JLabel("Java Technology Dive Log");
ImageIcon image = null;
try {
image = new ImageIcon(ImageIO.read(new URL("http://i.imgur.com/6mbHZRU.png")));
} catch(MalformedURLException mue) {
mue.printStackTrace();
} catch(IOException ioe) {
ioe.printStackTrace();
}
label.setIcon(image);
jPanelImage.add(label);
jPanelImage.validate();
}
但是我的 jFrame 和 jPanel 还是空的,为什么?
jPanelImage.setVisibility(true);
更新,为您的 JPanel 分配布局可能是解决方案
public TransmissionFrame() {
initComponents();
init();
}
private void init() {
JLabel label = new JLabel("Java Technology Dive Log");
ImageIcon image = null;
try {
image = new ImageIcon(ImageIO.read(new URL("http://i.imgur.com/6mbHZRU.png")));
} catch(MalformedURLException mue) {
mue.printStackTrace();
} catch(IOException ioe) {
ioe.printStackTrace();
}
label.setIcon(image);
jPanelImage.setLayout(new FlowLayout());
jPanelImage.add(label);
}
所以我试图在 jPanel 中的 jFrame 中显示图像。
(我想这就是你在 jFrame 中显示 JPEG/PNG 的方式) 这是我正在做的事情:
在 jFrame 的构造函数中,我下载图像,动态创建一个 ImageIcon 和一个 jLabel(设置图标),并将其插入到 jPanel 中。
我之前使用 NetBeans IDE 创建了 jPanel,其中 jPanelImage 在 initComponents() 中定义。
如果我使用调试器检查代码,他会下载图像 属性 而不会抛出任何异常。
它也可以正常运行代码,没有任何问题。
但是我的 jFrame 仍然是空的。 这是代码:
public TransmissionFrame() {
initComponents();
init();
}
private void init() {
JLabel label = new JLabel("Java Technology Dive Log");
ImageIcon image = null;
try {
image = new ImageIcon(ImageIO.read(new URL("http://i.imgur.com/6mbHZRU.png")));
} catch(MalformedURLException mue) {
mue.printStackTrace();
} catch(IOException ioe) {
ioe.printStackTrace();
}
label.setIcon(image);
jPanelImage.add(label);
jPanelImage.validate();
}
但是我的 jFrame 和 jPanel 还是空的,为什么?
jPanelImage.setVisibility(true);
更新,为您的 JPanel 分配布局可能是解决方案
public TransmissionFrame() {
initComponents();
init();
}
private void init() {
JLabel label = new JLabel("Java Technology Dive Log");
ImageIcon image = null;
try {
image = new ImageIcon(ImageIO.read(new URL("http://i.imgur.com/6mbHZRU.png")));
} catch(MalformedURLException mue) {
mue.printStackTrace();
} catch(IOException ioe) {
ioe.printStackTrace();
}
label.setIcon(image);
jPanelImage.setLayout(new FlowLayout());
jPanelImage.add(label);
}