如何在Java GUI中设置按钮的背景颜色?
下面是在特定pannel3上以gridlayoutforms创建9个按钮的代码。 我想要的是使每个按钮的背景为黑色,上面带有灰色文本。 有人可以帮忙吗?
for(int i=1;i<=9;i++) { p3.add(new JButton(""+i)); }
查看JButton文档。 请特别注意从JComponent
inheritance的setBackground
和setForeground
方法。
就像是:
for(int i=1;i<=9;i++) { JButton btn = new JButton(String.valueOf(i)); btn.setBackground(Color.BLACK); btn.setForeground(Color.GRAY); p3.add(btn); }
简单:
btn.setBackground(Color.red);
要使用RGB值:
btn[i].setBackground(Color.RGBtoHSB(int, int, int, float[]));
for(int i=1;i<=9;i++) { p3.add(new JButton(""+i) {{ // initialize the JButton directly setBackground(Color.BLACK); setForeground(Color.GRAY); }}); }
您可能需要也可能不必使用setOpaque方法来确保通过将true传递给方法来显示颜色。
使用setBackground方法设置background和setForeground以更改文本的颜色。 但请注意,将灰色文本放在黑色背景上可能会使您的文本难以阅读。
更改背景属性可能不够,因为组件不再像按钮那样。 您可能需要重新实现paint方法,以获得更好的结果:
似乎setBackground()方法在某些平台上运行不正常(我使用的是Windows 7)。 我发现这个问题的答案很有帮助。 但是,我并没有完全用它来解决我的问题。 相反,我认为为按钮旁边的面板着色会更容易,也更美观。