我正在做一个棋盘游戏项目,我正在用Jbuttons代表细胞。我为所有按钮制作了mouseLitener。我的问题是如何在单击时更改Jbutton的图标?
答案 0 :(得分:7)
我正在做一个棋盘游戏项目,我正在用Jbuttons代表细胞。
使用JToggleButton基于按钮数组和鼠标事件进行游戏,而不是JButton
使用ButtonModel代替任何XxxListener
JButton
和JToggleButton
直接在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。