如何在Java中更改实际JButton的颜色?不是背景而不是文本

时间:2017-01-29 21:43:06

标签: java swing jbutton fill

button[currRow][currCol].setBackground(Color.RED);
button[currRow][currCol].setContentAreaFilled(true);
button[currRow][currCol].setOpaque(true);

这就是我现在用于连接四场比赛以表示红色球员的举动。

https://i.stack.imgur.com/E12ZI.png

目前,它只为背景着色,如果我将代码更改为按钮[currRow] [currCol] .setForeground(Color.RED),那么整个事情似乎都没有改变。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

这不容易实现。问题是可插拔的外观和感觉描绘了按钮内容,并且它以它认为合适的任何方式实现。例如,一些L& F可能会绘制不使用背景颜色的渐变。

我建议像你这样的个案使用自定义图片(JButton.setIcon())而不使用内容区域(JButton.setContentAreaFilled(false))。

或者,您可以创建一个自定义组件来覆盖元素本身,覆盖JComponent.paintComponent()