Изменить цвет JButton при нажатии и сбросить после нажатия

Я пишу приложение Java, в котором есть кнопки. Я хотел бы знать, как я могу изменить цвет jbutton, когда на него нажимают мышью, и когда мышь отпускает, jbutton возвращается к своему цвету по умолчанию. Я пробовал использовать MouseActionListener и ChangeListener, но ни один из них не работает.

спасибо за помощь


person thelinh bui    schedule 26.11.2013    source источник
comment
Я ищу только направление для решения проблемы. Так что я думаю, что код не нужно публиковать   -  person thelinh bui    schedule 27.11.2013


Ответы (1)


По сути, вам нужно прикрепить 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...
    }
});
person MadProgrammer    schedule 26.11.2013
comment
если использовать прослушиватель stateChange, который отключит ActionListener, я зарегистрируюсь на jbutton. Я пробовал это. спасибо за ответ... - person thelinh bui; 27.11.2013
comment
Почему он должен отключить ActionListener? - person MadProgrammer; 27.11.2013
comment
так что вы говорите, что это не повлияет на actionListener правильно ... я попробую еще раз и дам вам знать .. спасибо - person thelinh bui; 27.11.2013
comment
В данный момент мои компьютеры работают тяжело, поэтому я не могу его протестировать, но я не понимаю, почему это должно происходить, если вы на самом деле не меняете состояние модели. - person MadProgrammer; 27.11.2013