通过鼠标监听器更改Jbutton的图标

时间:2012-05-21 23:06:15

标签: java swing jbutton mouselistener

我正在做一个棋盘游戏项目,我正在用Jbuttons代表细胞。我为所有按钮制作了mouseLitener。我的问题是如何在单击时更改Jbutton的图标?

3 个答案:

答案 0 :(得分:7)

  

我正在做一个棋盘游戏项目,我正在用Jbuttons代表细胞。

  • 使用JToggleButton基于按钮数组和鼠标事件进行游戏,而不是JButton

  • 使用ButtonModel代替任何XxxListener

  • JButtonJToggleButton直接在API中实施了这些方法

setIcon(Icon i);
setRolloverIcon(Icon i);
setPressedIcon(Icon i);
setDisabledIcon(Icon i);

答案 1 :(得分:5)

yourButton.addActionListener(new ActionListener() {
@Override
    public void actionPerformed(ActionEvent e) {
        yourButton.setIcon(new ImageIcon("yourImage"));
    }
});

单击JButton时会调用ActionListener。这种方式最常使用。

答案 2 :(得分:4)

作为替代方案,也可以使用unicode字形来考虑setText(),图示为here