是否临时更改JButton背景颜色?

2022-04-03 00:00:00 java swing jbutton

我对Java非常陌生,需要一些帮助。 我正在制作一个小的Java桌面应用程序,其中我基本上有一个4个JButton的网格(2 x 2网格),我需要单独的JButton的背景色改变,一秒钟后,改变回原始颜色(我试图制作的游戏就像Simon,在那里你必须遵循一个亮起的按钮模式)。 我有一个包含从1到4范围内随机生成的数字的向量,我希望能够从该向量中获取每个元素,并使相应的按钮在一秒钟内更改为不同的颜色(例如,如果向量包含2 4 1,我希望更改按钮2,然后更改按钮4,然后更改按钮1)。

这是可能的吗,或者有没有更好的方法来使用JButton以外的其他东西来实现这一点?我如何实现此目标?

另外,我运行的是Mac OS X,它显然(基于我在论坛上读到的一些东西)不喜欢JButton背景改变(我想这是因为系统的外观和感觉),我如何才能改变这一点,使其在Mac上运行?

提前感谢您的帮助:)


解决方案

您可以只使用集合背景(...)方法设置颜色,然后使用Swing计时器在激发时重置背景。

编辑:

如果您的问题是setBackround()方法在某些LAF上不起作用,那么您可以向按钮添加一个图标,该按钮只是一个纯色。然后,要更改背景颜色,只需更改图标。

相关文章