Я предлагаю установить ButtonModel
с переопределенными setArmed
и setPressed
. Как именно вы переопределяете, это зависит от того, что именно вы хотите, чтобы он делал - например, должен ли он выглядеть нажатым при нажатии? Установите ButtonModel
только один раз для JButton
. Добавьте или переназначьте состояние на ButtonModel
, чтобы указать, как вы хотите, чтобы оно вело себя в любой момент.
Очевидно, что пользовательские интерфейсы с нестандартным поведением могут запутать пользователей.