2013-05-10 97 views
-1

我在寫跳棋。所以,每個細胞都是JButton,它有圖像(ImageIcon)。帶背景圖像和背光的JButton

我想JButton有背景圖像和背光(例如,藍色的紅色),因爲我想顯示用戶可用的轉彎。可能嗎?

現在,如果我創建新的JButton(Icon icon),然後setBackground(Color.BLUE); 背景被忽略。

+0

我會使用複合解決方案。實際的單元格將以「JPanel」開始。這是我用來渲染圖像並突出顯示的內容。在此之上,我將添加按鈕(確保它是透明的) – MadProgrammer 2013-05-10 10:28:48

+0

*「我想要顯示用戶可用的轉彎」*這似乎是模型固有的邏輯的一部分。然後,我們將尋找方法來渲染適合每個單元的模型。 – 2013-05-10 10:28:50

+0

在你的JButton上調用'setContentAreaFilled(true)'可能會有幫助。 – VGR 2013-05-10 11:27:42

回答

1

你應該邊框顏色設置爲藍色或紅色(我相信這是你作爲一個答案找什麼)

嘗試着這樣一句話:

chessButton.setBorder(BorderFactory.createLineBorder(Color.GREEN)); 

繪畫JButton的邊界沒有被影響圖像圖標,因此如果你想創建一個高光效果並設置邊框的顏色,你應該使用BorderFactory。你也可以通過不同的效果邊框通過BorderFactory

如果你想要完整的背景突出或某種特殊效果,那麼有兩個單獨的圖像的每個單元格,即一個正常的圖像和一個突出顯示的圖像。當您想要向用戶顯示其可用轉數時,只需使用相應的高亮圖像更新相應單元格