button[currRow][currCol].setBackground(Color.RED);
button[currRow][currCol].setContentAreaFilled(true);
button[currRow][currCol].setOpaque(true);
这就是我现在用于连接四场比赛以表示红色球员的举动。
目前,它只为背景着色,如果我将代码更改为按钮[currRow] [currCol] .setForeground(Color.RED),那么整个事情似乎都没有改变。我该如何解决这个问题?
答案 0 :(得分:1)
这不容易实现。问题是可插拔的外观和感觉描绘了按钮内容,并且它以它认为合适的任何方式实现。例如,一些L& F可能会绘制不使用背景颜色的渐变。
我建议像你这样的个案使用自定义图片(JButton.setIcon()
)而不使用内容区域(JButton.setContentAreaFilled(false)
)。
或者,您可以创建一个自定义组件来覆盖元素本身,覆盖JComponent.paintComponent()
。