0

由于 Netbeans 自动生成的代码,我想在我的 JFrame 上设置图像背景。

不幸的是,我正面临这个确切的问题: http ://www.areaofthoughts.com/2011/08/netbeans-jframe-properties-iconimage.html

当我尝试以图形方式添加它时,在 iconImage 的详细信息中,出现此错误:“不支持此属性的自定义编辑”

我尝试了上面链接中给出的解决方案,但不幸的是,这段代码不起作用:

public ArrayList<Image> getIconImages() {
   ArrayList<Image> imageList = new ArrayList();
   imageList.add(getClass().getResource("/<resource_path>" +
     "/image.png")).getImage());
   return imageList;  
}

这段代码有什么问题,我该如何解决这个背景问题(无论如何?)。

请注意,当我使用 Netbeans 为标签做这件事时,我做这件事没有任何问题。例如,生成的代码如下:

jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/main/myimage/img.png")));    
4

1 回答 1

1

您通常有两种选择。

1-创建一个自定义JPanel,可以将图像绘制为背景的一部分,然后将其添加到您的框架中(编译后,可以将其拖到设计器中),看看Performing Custom Painting

2- 设置JFrameto的布局,BorderLayout在框架中添加一个 JLabel。为标签分配图像/图标。将标签的布局设置为您需要的任何内容以及您的组件。

您可能需要调整标签内图标的水平和垂直位置以满足您的需要

例如,查看这个先前的答案Place JLabel on top of JLabel with image in

于 2012-09-06T23:49:00.247 回答