2011-04-28 114 views
1

我正在製作一個應用程序,在某些時候我需要用戶選擇一種顏色,但不僅僅有50個radioButtons,我想知道是否可以真正獲得它們的顏色想從文本字段或其他東西。從字符串輸入獲取顏色

+0

怎麼樣一個選擇框? – Neal 2011-04-28 17:08:25

回答

1

只是製作一個JComboBox或類似的東西會不會更容易?

但回答你的問題:是的,這是可能的。我給了一段代碼,你可以使用作爲一個開始,讓你去(假設你仍然希望字符串顏色)

String text = "red"; 
Color color; 
Field field = Class.forName("java.awt.Color").getField(text.toLowerCase()); // toLowerCase because the color fields are RED or red, not Red 
color = (Color)field.get(null); 
+0

杜爾,我沒有想到那個低谷。我想我會用一個組合框代替。 此外,謝謝回答我的實際問題,但我可能能夠在其他情況下使用代碼。 – Tom 2011-04-28 17:18:33

0

嘗試

Color aColor = (Color) Color.class.getField("white").get(null); 

此外,

看看靜態方法Color.decode()將成爲你的目的。

+0

更新了'decode()'函數的鏈接:https://docs.oracle.com/javase/7/docs/api/java/awt/Color.html#decode(java.lang.String) – 2017-01-06 01:29:23

3

爲什麼不使用標準Swing組件的JColorChooser

你可以閱讀教程here,但它是非常簡單的使用,因爲每一個Swing對話框,結果是一樣的東西:

color chooser

1

嘗試使用Color.parseColor(text);