2012-04-19 107 views
2

我通過從節點的鄰居中刪除邊緣來生成迷宮。通過去除,我的意思是將去除邊緣作爲面板的原始顏色。我目前必須將其設置爲Color.white,但它看起來很奇怪。那麼是否有人知道Java Swing中背景顏色的hexa代碼?什麼是Java Swing中背景的六色顏色?

enter image description here

+0

*「我現在必須將它設置爲Color.white,但它看起來很奇怪。」*我會爲BG選擇一個純色,這是我(或用戶,如果我想要提供'選項在遊戲渲染')。總體而言,這是一個更安全的策略,特別是當用戶的系統默認設置爲使用自定義PLAF時。 ;) – 2012-04-19 08:34:38

回答

4

原來的背景顏色爲RGB(238238238)或十六進制EEEEEE

編輯:作爲@GuillaumePolet指出,這可能不是所有平臺的情況下 - 所以最安全的方法得到它是當你第一次創建JPanel使用的代碼如下所示:

JPanel jp = new JPanel(); 

    Color bg = jp.getBackground(); 

    int r = bg.getRed(); 
    int g = bg.getGreen(); 
    int b = bg.getBlue(); 

    System.out.println(r); 
    System.out.println(g); 
    System.out.println(b); 

我這是怎麼了238238238和我使用Windows上的Java 1.7

+0

非常感謝。你怎麼能發現? – Chan 2012-04-19 08:19:43

+0

使用任何顏色選擇器軟件來做到這一點。這適用於這種情況,但其他平臺可能有其他默認背景顏色。 – 2012-04-19 08:22:52

+0

@GuillaumePolet:你真的使用hexa顏色選擇器手動檢查它嗎?這怎麼可能? – Chan 2012-04-19 08:26:23

6

爲了避免無謂的JPanel創建(只是爲了從中檢索背景色)使用保存默認的面板背景色的UI常數:

Color bg = UIManager.getColor ("Panel.background"); 

這將返回不同的顏色有不同的UI設置。

使用各種常量,您還可以通過這種方式檢索大量其他默認值(不僅僅是顏色)。

+0

不錯,謝謝! – Chan 2012-04-20 01:38:42