我仍然是Java的新手,在我们的编程课程中,我们在一个小组中工作。我的部分工作是在GUI的顶部插入一个图像。
这是我到目前为止的代码..
ImageIcon image = new ImageIcon(getClass().getResource("EXTS.png"));
JPanel.add(image, BorderLayout.NORTH);
但正好在Jpanel.add的.add部分下面是那条红色的波浪形线告诉我应该将我的图像更改为一个组件,当我这样做时它会告诉我将它切换回图像?这就是我为什么会告诉我如果它不会像现在这样使用它而改变它的原因让我感到困惑? 所以我想我的问题是我应该怎么做才能解决这个问题?
我也知道如何定位它,我知道它会进入北方的布局点,但那会是死点吗?还是从0左上角开始,然后是像素?
先谢谢你了!
(P.s。这是图像文件的路径,如果它应该不同请告诉我,否则它很好 - Project 3 / Images / EXTS.png)
答案 0 :(得分:4)
图标不是组件。您需要将Icon添加到JLabel
:
ImageIcon image = new ImageIcon(getClass().getResource("EXTS.png"));
//JPanel.add(image, BorderLayout.NORTH);
JPanel.add(new JLabel(image), BorderLayout.NORTH);
答案 1 :(得分:1)
假设图像的路径正确,您应该使用JLabel
来显示图像。有关详细信息,请参阅How to Use Labels。
我还考虑使用ImageIO
来阅读图片而不是ImageIcon
,因为如果由于某种原因无法加载图片,ImageIO
会抛出IOException
。有关更多详情,请参阅Reading/Loading an Image
ImageIcon image = new ImageIcon(
ImageIO.read(getClass().getResource("/EXTS.png")));
JPanel.add(new JLabel(image), BorderLayout.NORTH);