4

I'm doing a board game project and I'm representing cells by Jbuttons. I made mouseLitener to all the buttons. My question is how to change the icon of the Jbutton when it is clicked ?

4

3 回答 3

7

我正在做一个棋盘游戏项目,我正在用 Jbuttons 表示单元格。

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

  • 使用ButtonModel而不是任何XxxListener

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

.

setIcon(Icon i);
setRolloverIcon(Icon i);
setPressedIcon(Icon i);
setDisabledIcon(Icon i);
于 2012-05-21T23:38:10.953 回答
5
yourButton.addActionListener(new ActionListener() {
@Override
    public void actionPerformed(ActionEvent e) {
        yourButton.setIcon(new ImageIcon("yourImage"));
    }
});

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

于 2012-05-21T23:22:46.857 回答
4

作为替代方案,还可以考虑setText()使用 unicode 字形,如图所示

于 2012-05-22T02:49:58.643 回答