2013-10-28 99 views
0

我爲創建Metal LaF自定義主題時遇到了一些問題。通過自定義(金屬)主題更改JButton(,...)文本顏色

閱讀完一個或其他教程後,我能夠創建一個類,覆蓋主要和次要顏色值1-3。
大部分的桂都很好用這種方式。

只有標籤和按鈕仍將字體顏色設置爲黑色,我無法改變這種方式,以及填充的進度條和文本框背景,它們是白色的。 至於標籤我發現的可能性,重寫「getSystemTextColor()」。

我讀到了一些用於Metal LaF的常量「黑色」和「白色」,但無法弄清楚如何重寫它們......可能是這樣嗎?

我也可以手動更改每個按鈕前景的困難方式,但我想有一個更舒適的方法。

因此,任何人誰是更熟悉的LaF的比我:有希望取代:
- 按鈕字體顏色
-filled進度字體顏色 -Textfield背景顏色

+0

的JButton具有存儲在UIManager的顏色和座標(插圖)的陣列中,有三種方法1.覆蓋BasicButtonUI(UIManager的),2的paintComponent, 3.重寫顏色和座標數組,不知道你真的想做什麼, – mKorbel

回答

1

爲了這個目的,你可以使用UIManager,它包含組件顏色的常數。例如:

UIManager.put("Button.foreground", Color.RED); 
    UIManager.put("TextField.background", Color.BLACK); 
    UIManager.put("ProgressBar.selectionBackground", Color.WHITE); 

你可以在谷歌找到所有的常量

+0

這幫了很多,謝謝! 一次性定義,工作正常! –

相關問題