2013-04-04 4 views
-1

Я хочу изменить внешний вид JButton при его нажатии. Вместо того чтобы сделать фоновый темно-серый (по умолчанию), я хочу, чтобы он был синим. Я посмотрел на этот пост и увидел, что он использует JButton.setPressedIcon (изображение значка) - Making Image button look pressed/clicked in SwingJButton - установить цвет, который будет отображаться при нажатии?

Я не хочу менять изображение. Я хочу изменить цвет фона до значения, отличного от значения по умолчанию, при нажатии кнопки.

Как это сделать? Можно ли это сделать без какого-либо переопределения или создания нового класса?

+0

Учитывая ваш [другой вопрос] (http://stackoverflow.com/q/15821549/418556), было бы лучше сделать это с помощью значков. Кнопка поддерживает различные значки и будет переключаться между ними при изменении состояния. –

ответ

4

Вы можете переопределить paintButtonPressed() в пользовательских ButtonUI. Соответствующий пример показан here.

+0

Можно ли это сделать без какого-либо переопределения или создания нового класса? – SuperStar

+0

Вы будете бороться с делегатом ButtonUI. – trashgod

1

В том же корпусе, с решением. Смотрите ссылку:

http://www.coderanch.com/t/346459/GUI/java/JButton-onClick-change-background-color

+0

-1 для такого ответа. Мне нужны конкретные вещи. Я также могу найти много таких ссылок - https://forums.oracle.com/forums/thread.jspa?threadID=1140547 http://www.java.net/node/666979 – SuperStar

+1

@SuperStar Тогда почему бы вам ? – MadProgrammer

+0

«-1 для такого ответа» просто нужно спросить вас, почему?!? Я только предоставил вам ссылку с одним и тем же случаем, это зависит от вас, если вы хотите ее использовать или нет. Вам не нужно изобретать велосипед каждый раз, когда вы решаете проблему спуска автомобиля. – CronbachAlpha

Смежные вопросы