Я хочу создать кнопку с пользовательским внешним видом. У меня есть разные изображения, которые можно установить в качестве фона кнопки для обычного, мыши, щелчка мышью, кнопки отключены и т. Д. Я создал свой собственный класс, расширяя javax.swing.JButton и переопределяя метод paintComponent. Как я могу изменить фон кнопки для всех вышеперечисленных состояний.Java Swing JButton
ответ
ImageIcon icon = new ImageIcon("images/icon.gif");
JButton button = new JButton(icon);
JButton имеет ряд простых методов набора для одновременного нажатия клавиш, прессованные, отобранными, инвалидов и инвалидов выбранных состояний - например
button.setPressedIcon(new ImageIcon("images/button-down.png")
другие методы:
button.setRolloverIcon()
button.setSelectedIcon()
button.setRolloverSelectedIcon()
button.setDisabledIcon()
button.setDisabledSelectedIcon()
. ..повеселись !
Кстати, O'Reilly имеет забавную книгу под названием Swing, Hacks с большим количеством маленьких лакомства для игры с качелями: Swing Hacks
В дополнение к ответу Стив Де CAUX, вы можете:
- Добавить
MouseListener
, который изменяет вenum
переменного, давайте назовем егоstate
на вашем расширеннойJButton
В изменённых
paintComponent
принять во внимание текущиеstate
и рисовать разные фоны. Какif (!getModel().isEnabled()) { } else if (state == ButtonState.MOUSE_OVER) { } else if (state == ButtonState.MOUSE_CLICKED) { }
Вы можете создать пользовательские кнопки интерфейса делегата. Эта запись в блоге: http://blog.elevenworks.com/?p=4 имеет пример для пользовательской панели с вкладками, но принцип тот же. Расширьте BasicButtonUI, реализуйте пользовательский рендеринг, который хотите использовать для кнопки, и затем вызовите setUI() на кнопке.
Это, вероятно, займет больше времени, чем использование существующих API-методов кнопки, чтобы изменить внешний вид, но это дает вам намного больше контроля.
- 1. java swing addactionlistener JButton
- 2. Java Swing JButton
- 3. JButton Ошибка в Java Swing
- 4. Java Swing - JButton wrong border
- 5. Swing сделать JButton нецелесообразным
- 6. Java Swing: JButton создает новые JTextField (ы)
- 7. Java Swing - isRollover() значение в модели JButton
- 8. Java Swing игнорировать размер текста на JButton
- 9. Индекс возврата щелкнутого JButton в Java swing
- 10. Open excel sheet от JButton - Java Swing
- 11. Наложение JButton на JLabel в Java Swing?
- 12. Java Swing: переместите JButton по щелчку
- 13. Невозможно обновить JButton в Java Swing
- 14. Java Swing ActionListener Display JButton Array
- 15. Java Swing JButton Image Error Отладка
- 16. Проблема Java Swing с выбором JButton/ActionPerformed
- 17. Пытается использовать JCheckBox как JButton (Java Swing)
- 18. Swing: Как выровнять JButton
- 19. Событие Swing JButton
- 20. Netbeans Swing jButton
- 21. Скругленные углы качания JButton Swing, без особенностей фактического JButton
- 22. Как управлять JButton в Swing?
- 23. Swing JButton: Значок над текстом
- 24. swing создать индивидуальный вопрос Jbutton
- 25. Swing program для отображения JButton
- 26. Paint Swing JButton as disabled
- 27. JButton table java
- 28. JButton над изображением в JFrame - swing
- 29. Неизвестное исключение в пользовательском JButton, в java (swing)
- 30. Как я могу отправить JButton письмо? (Java Swing)
Спасибо, что ответили yankee2905. Этот код предназначен для установки изображения значка на кнопке. Я хочу знать, как я могу удалить внешний вид кнопки по умолчанию и добавить свои собственные изображения для мыши, мыши и отключенных состояний? – Nilesh