单击时更改颜色JButton并在不单击后重置

时间:2013-11-26 22:38:31

标签: java swing jbutton mouselistener changelistener

我正在编写一个包含按钮的Java应用程序。我想知道如何在单击鼠标时更改jbutton的颜色,当鼠标释放时,jbutton将恢复为其默认颜色。我尝试过使用MouseActionListener和ChangeListener但它们都不起作用。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

基本上,您需要将ChangeListener附加到按钮模型。当引发stateChanged事件时,您需要检查模型的当前状态并根据需要进行所需的更改...

final JButton btn = ....
bnt.getModel().addChangeListener(new ChangeListener() {
    public void stateChanged(ChangeEvent evt) {
        ButtonModel model =evt.getSource();
        // Check for the model state you want...
    }
});