我想創建具有自定義外觀和感覺的按鈕。我有不同的圖像設置爲普通,鼠標懸停,鼠標點擊,按鈕禁用等按鈕的背景。我創建了自己的類,擴展了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