我有一個字符串,它存儲的顏色的名稱。通過這個變量的幫助,我需要更改面板背景。如何做呢???更改面板顏色
更改面板顏色
回答
創建包含顏色的String名稱和實際Color對象的映射。
編輯:
只注意到其他兩個答案使用的getColor(...)方法建議。這不僅僅是神奇的工作,而且你需要在系統屬性中定義顏色。我從來沒有使用系統屬性,但我相信你需要在啓動JVM時設置它們。
你可以顯示一些代碼? – 2010-04-29 20:02:57
+1對於地圖響應 - 因爲有一個有限集合(根據OP的評論),我強烈建議遵循這個機制。這使您可以更改顏色(如OP所述),並在更改發生時讓其他人接收該更改 - 即下次他們請求該顏色時。 – aperkins 2010-04-29 20:16:24
如果顏色只打算是Java支持,你可以不喜歡下面的那些:
private Color getColorByName(String colorName) {
Field[] colorFields = Color.class.getDeclaredFields();
for (Field field : colorFields) {
if (field.getName().equals(colorName.toUpper())) {
//check that this is in fact a static field,
//to make sure it is one of the colors you are looking for
int modifiers = field.getModifiers();
if ((Modifiers.STATIC & modifiers != 0)
&& (Modifiers.PUBLIC & modifiers != 0)) {
try{
return (Color)field.getValue(null);
} catch (FieldNotFoundException ex) {
//Maybe put some additional handling in here if you need it
}
}
}
}
//or return a default color
return null;
}
的幾個注意事項:
- 本使用反射,所以它會 會更慢(儘管你可以, 在技術上使用它來製作顏色 地圖在應用程序啓動 並只參考)。
如上面其他 人所述,製作 彩色地圖會更有意義。
最好是 如果不同的系統發送您 實際值 - 在 int或0.0-1.0雙格式表示RGB值。那麼你可以持續給他們 適當的迴應。
我的建議,如果一定要使用的顏色名稱,將是他們給你一組,你必須支持的名字,和你有一個錯誤的條件 - 無論是默認的顏色,null或拋出一個異常。
希望這會有所幫助。
- 1. 更改面板顏色
- 2. 更改背景顏色標籤面板
- 3. 更改面板顏色從xcode中的主顏色
- 4. 更改面板的顏色以匹配用戶主題顏色
- 5. 如何更改曲面調色板顏色?
- 6. 修改顏色選擇器面板
- 7. 更改顏色
- 8. 更改顏色
- 9. 更改顏色
- 10. 更改顏色
- 11. 更改顏色
- 12. 更改顏色
- 13. 更改EditText板的顏色,無形狀
- 14. 更新顏色選擇器面板中的新顏色
- 15. Aptana模板顏色 - 如何更改definitiion顏色
- 16. 更改alpha更改顏色
- 17. 更改PhpStorm中警告面板的顏色
- 18. 根據評論密度更改.accordion面板的顏色
- 19. 更改sencha觸摸面板的背景顏色
- 20. 更改引導面板的背景顏色
- 21. 在預覽面板中更改邊緣顏色
- 22. 更改手風琴面板選項卡的顏色
- 23. 從面板更改窗體背景顏色
- 24. 使用jquery更改Bootstrap面板體的背景顏色
- 25. 使用sass更改引導面板顏色
- 26. xfce4/gtk-3.0 - 更改面板DateTime小部件的文本顏色?
- 27. CSS如何更改if塊中特定主面板的顏色
- 28. 如何在Delphi中動態更改TChart的面板顏色?
- 29. 更改所有tabbedpane面板java swing的顏色按鈕操作
- 30. 我可以更改glui面板背景顏色嗎?
您使用的顏色名稱數是否有限? – Pops 2010-04-29 19:40:52
是的。但問題是有很多程序彼此鏈接,一旦顏色改變了一種形式,相同的顏色將被用於其他形式也 – user161004 2010-04-29 19:51:43