如何将图像添加到 JButton

2022-08-31 20:48:03

我正在尝试将图像添加到JButton,但我不确定我错过了什么。当我运行以下代码时,该按钮看起来与我创建它时没有任何图像属性完全相同。水.bmp位于我的项目文件夹的根目录中。

ImageIcon water = new ImageIcon("water.bmp");
    JButton button = new JButton(water);
    frame.add(button);

答案 1

我认为您的问题在于图像的位置。你应该把它放在你的源代码中,然后像这样使用它:

  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);
  }

在此示例中,假定图像位于 src/resources/ 文件夹中。


答案 2

@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);

推荐