2014-01-21 5 views
5

Я хочу, чтобы изменить фоновое изображение JButton в колебании,
Метод: Button.setIcon(),
Сета значок только а не background, Есть ли легко способ сделать это?Как установить фоновое изображение кнопки в Java Swing

+0

См [JButton фоновое изображение] (http://stackoverflow.com/questions/17110315/jbutton-background-image) – Reimeus

+0

Так как фон изменился в примере ? (это значок) –

+0

добавлял этот комментарий для @ peter.petrov, так как не смог опубликовать его в качестве комментария, добавил ответ – Reimeus

ответ

3

Самый простой способ использования SynthLookAndFeel, как описано here или вы могли бы пойти с созданием класса, который расширяет JButton и обеспечить новую реализацию paintComponent (Graphics г)

4

Одним из вариантов является подкласс JButton, переопределить метод paintComponent() и нарисовать значок там.

+0

Это большая работа для уже существующих функций. Просто установите выравнивание значка в центр и выравнивание текста в центр, как описано Reimeus. – MadProgrammer

+0

Настройка значка и выравнивания текста будет работать, но кнопка не будет иметь одинаковые визуальные сигналы, как обычная кнопка, то есть фон, выигравший ' t выделите курсор мыши/щелкните. По этой причине вам, вероятно, придется вернуться к использованию paintComponent() и реализовать свою собственную логику, чтобы немного изменить фон на этих событиях. – PhilDin

5

Вы все еще можете использовать setIcon, но вам нужно будет установить выравнивание, чтобы сделать текст появится над изображением

button.setHorizontalTextPosition(SwingConstants.CENTER); 
Смежные вопросы