下面的代码在一个特定的pannel3上创建了9个网格布局形式的按钮。我想要的是使每个按钮的背景是黑色的,上面有灰色的文字。有人能帮忙吗?
for(int i=1;i<=9;i++) { p3.add(new JButton(""+i)); }
hsvhsicv1#
查看JButton文档。特别注意从JComponent继承的setBackground和setForeground方法。比如:
JComponent
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); }
izj3ouym2#
简单:btn.setBackground(Color.red);要使用RGB值:btn[i].setBackground(Color.RGBtoHSB(int, int, int, float[]));
btn.setBackground(Color.red);
btn[i].setBackground(Color.RGBtoHSB(int, int, int, float[]));
iszxjhcz3#
改变background属性可能还不够,因为组件看起来不再像按钮了。你可能需要像here那样重新实现paint方法来获得更好的结果:
wqsoz72f4#
for(int i=1;i<=9;i++) { p3.add(new JButton(""+i) {{ // initialize the JButton directly setBackground(Color.BLACK); setForeground(Color.GRAY); }}); }
0kjbasz65#
您可以使用setOpaque方法,也可以不使用该方法,通过向该方法传递true来确保显示颜色。
tyu7yeag6#
setBackground()方法似乎在某些平台上不能很好地工作(我使用的是Windows 7)。我发现this answer到this question很有帮助。然而,我并没有完全使用它来解决我的问题。相反,我认为给按钮旁边的面板上色会更容易,而且几乎同样美观。
093gszye7#
使用setBackground方法设置背景,使用setForeground方法更改文本的颜色。但是请注意,将灰色文本置于黑色背景上可能会使文本坚韧阅读。
pinkon5k8#
我尝试了之前的解决方案,但仍然无法改变颜色。遇到另一篇文章,解决了我的问题。按钮是由不同的层。删除所有这些层有助于:
btn.setOpaque(true); btn.setContentAreaFilled(true); btn.setBorderPainted(false); btn.setFocusPainted(false); btn.setBackground(Color.GRAY); // for the background btn.setForeground(Color.white); // for the text
8条答案
按热度按时间hsvhsicv1#
查看JButton文档。特别注意从
JComponent
继承的setBackground
和setForeground
方法。比如:
izj3ouym2#
简单:
btn.setBackground(Color.red);
要使用RGB值:
btn[i].setBackground(Color.RGBtoHSB(int, int, int, float[]));
iszxjhcz3#
改变background属性可能还不够,因为组件看起来不再像按钮了。你可能需要像here那样重新实现paint方法来获得更好的结果:
wqsoz72f4#
0kjbasz65#
您可以使用setOpaque方法,也可以不使用该方法,通过向该方法传递true来确保显示颜色。
tyu7yeag6#
setBackground()方法似乎在某些平台上不能很好地工作(我使用的是Windows 7)。我发现this answer到this question很有帮助。然而,我并没有完全使用它来解决我的问题。相反,我认为给按钮旁边的面板上色会更容易,而且几乎同样美观。
093gszye7#
使用setBackground方法设置背景,使用setForeground方法更改文本的颜色。但是请注意,将灰色文本置于黑色背景上可能会使文本坚韧阅读。
pinkon5k8#
我尝试了之前的解决方案,但仍然无法改变颜色。遇到另一篇文章,解决了我的问题。按钮是由不同的层。删除所有这些层有助于: