Java:使用图像作为按钮

3sd*_*dmx 55 java swing awt jbutton

我想在Java中使用图像作为按钮,我试图这样做:

BufferedImage buttonIcon = ImageIO.read(new File("buttonIconPath"));
button = new JButton(new ImageIcon(buttonIcon));
Run Code Online (Sandbox Code Playgroud)

但这仍然显示图像背后的实际按钮,我只想将图像作为按钮,我该怎么做?

jzd*_*jzd 28

像这样删除边框:

button.setBorder(BorderFactory.createEmptyBorder());
Run Code Online (Sandbox Code Playgroud)

然后还有内容1:

button.setContentAreaFilled(false);
Run Code Online (Sandbox Code Playgroud)

1:取自@ 3sdmx添加到问题中的解决方案


tho*_*olh 9

建议将图像设置为标签,并在标签上添加鼠标监听器以检测点击次数.

例:

ImageIcon icon = ...;

JLabel button = new JLabel(icon);

button.addMouseListener(new MouseAdapter() {
  @Override
  public void mouseClicked(MouseEvent e) {
     ... handle the click ...
  }
});
Run Code Online (Sandbox Code Playgroud)