我想创建具有自定义外观和感觉的按钮。我有不同的图像设置为普通,鼠标悬停,鼠标点击,按钮禁用等按钮的背景。我创建了自己的类,扩展了javax.swing.JButton并覆盖了paintComponent方法。我怎样才能改变我的按钮背景为所有上述给定的状态。Java Swing JButton
0
A
回答
0
ImageIcon icon = new ImageIcon("images/icon.gif");
JButton button = new JButton(icon);
3
JButton的具有一系列的简单的设置方法翻转,压制,选择,残疾人和禁用选择的状态 - 例如
button.setPressedIcon(new ImageIcon("images/button-down.png")
的其它方法是:
button.setRolloverIcon()
button.setSelectedIcon()
button.setRolloverSelectedIcon()
button.setDisabledIcon()
button.setDisabledSelectedIcon()
。 ..玩的开心 !
顺便说一句,奥赖利有一个称为摇摆黑客有很多好吃的东西少一个有趣的书有玩秋千:Swing Hacks
4
除了史蒂夫德考克斯的回答,您可以:
- 添加
MouseListener
时改变的enum
变量,我们称之为state
您的扩展JButton
在你重写
paintComponent
考虑到目前的state
并绘制不同的背景。像if (!getModel().isEnabled()) { } else if (state == ButtonState.MOUSE_OVER) { } else if (state == ButtonState.MOUSE_CLICKED) { }
2
您可以创建一个自定义按钮UI委托。这个博客条目:http://blog.elevenworks.com/?p=4有一个自定义选项卡窗格的示例,但原理相同。扩展BasicButtonUI,实现你想要的按钮的自定义渲染,然后调用按钮上的setUI()。
与使用现有的按钮API方法来改变外观相比,这可能需要更长的时间来实现,但它给了您更多的控制权。
相关问题
- 1. java swing addactionlistener JButton
- 2. Java Swing JButton
- 3. Java中的JButton swing
- 4. Java JButton和swing问题
- 5. 的Java Swing的JButton充电旧形象
- 6. Java Swing:点击时移动JButton
- 7. Java Swing ActionListener显示JButton数组
- 8. Java swing JButton的顺序和大小
- 9. Java Swing - JButton模型中的isRollover()值
- 10. 从JButton打开excel表格 - Java Swing
- 11. Java Swing - 嵌入JTable中的Jbutton的Jpanel
- 12. 试图使用JCheckBox作为JButton(Java Swing)
- 13. 在Java Swing中通过JLabel覆盖JButton?
- 14. 的Java Swing JButton的时滞(闪烁)
- 15. Java Swing问题与JButton选择/ ActionPerformed
- 16. Swing使JButton不可聚焦
- 17. Swing:设置JButton的背景
- 18. Java,JFC,Swing
- 19. 的JButton表的Java
- 20. 圆角为Swing JButton的摇摆不
- 21. Java swing combobox actionListner
- 22. ActionListener java swing
- 23. 的Java Swing布局
- 24. 多线程Java Swing
- 25. 刷新JFrame? Java Swing
- 26. Java swing GUI错误
- 27. 的Java Swing按钮
- 28. JPanel on CardLayout Swing Java
- 29. java swing中的jbutton(浏览pc文件夹)
- 30. Java swing中单击JButton的返回索引
谢谢你回答yankee2905。此代码是在按钮上设置图标图像。我想知道如何删除按钮的默认外观和添加我自己的图像鼠标悬停,鼠标点击和禁用状态? – Nilesh 2009-12-12 07:50:04