kev*_*ber 45 java icons swing jbutton embedded-resource
我正在尝试将图像添加到JButton,我不确定我缺少什么.当我运行以下代码时,该按钮看起来与我创建它时没有任何图像属性完全相同.Water.bmp位于我的项目文件夹的根目录中.
ImageIcon water = new ImageIcon("water.bmp");
JButton button = new JButton(water);
frame.add(button);
Run Code Online (Sandbox Code Playgroud)
Rog*_*ach 72
我认为您的问题出在图像的位置.你应该把它放在你的源中,然后像这样使用它:
JButton button = new JButton();
try {
Image img = ImageIO.read(getClass().getResource("resources/water.bmp"));
button.setIcon(new ImageIcon(img));
} catch (Exception ex) {
System.out.println(ex);
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,假设图像位于src/resources /文件夹中.
ung*_*rys 15
@Rogach
你可能想补充一下:
// to remote the spacing between the image and button's borders
button.setMargin(new Insets(0, 0, 0, 0));
// to add a different background
button.setBackground( ... );
// to remove the border
button.setBorder(null);
Run Code Online (Sandbox Code Playgroud)
它看起来像一个位置问题,因为该代码非常适合添加图标.
由于我不知道您的文件夹结构,我建议添加一个简单的检查:
File imageCheck = new File("water.bmp");
if(imageCheck.exists())
System.out.println("Image file found!")
else
System.out.println("Image file not found!");
Run Code Online (Sandbox Code Playgroud)
这样,如果您的路径名称错误,它会告诉您而不是显示任何内容.如果文件不存在,则应该抛出异常.
您将图像放入资源文件夹中并使用以下代码:
JButton btn = new JButton("");
btn.setIcon(new ImageIcon(Class.class.getResource("/resources/img.png")));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
267466 次 |
最近记录: |