2012-04-19 123 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