我有一種情況,在GridLayout上有一堆JButton。我需要每個這些Jbutton的有:在JButton上繪製圖形
- 背景圖像(但保留保持默認按鈕的外觀,如果需要的能力)
- 自定義圖形的其他類
我在上面畫對背景圖像沒有任何問題,因爲我使用的是setIcon(),但是我在繪製背景上的東西時遇到問題。有一次,我能夠在按鈕的頂部繪圖,但點擊按鈕後,圖紙消失了。如何使按鈕保持這種繪圖狀態?
基本上,我需要爲我的Jbutton將辦法有公共的方法,將允許其他類就可以了,例如畫什麼:
public void drawSomething() {
Graphics g = this.getGraphics();
g.drawOval(3,2,2,2);
repaint();
}
或
public Graphics getGraphics() {
return this.getGraphics();
}
然後另一個類可以做這個:
button.getGraphics().drawSomething();
後者更多我要找的,但第一個是同樣有用的。
有什麼辦法可以解決這個問題嗎?另外,覆蓋父類方法paintComponent()並不能幫助,因爲我需要每個按鈕都有不同的圖形。
我之前實際上一直在使用這種方法,除了我沒有使用接口。我放棄了它,因爲我認爲可能有更簡單的方法。這是一個更優雅的方法,謝謝。 – trinth 2010-03-09 07:19:42
很高興它幫助你 – objects 2010-03-10 23:59:59