【发布时间】:2016-01-17 14:23:45
【问题描述】:
所以,我想做的是一个带有文字的按钮。
当用户将鼠标悬停在按钮上时,文本颜色会从基色 (bcolornorm) 变为悬停颜色设置 (bcolorhover)。点击后它会从 bcolorhover 变为 bcolorclic。
然而,发生的事情是,在悬停时,文本只是消失了(我假设颜色设置为 null)并且无论我做什么都不会重新出现。
代码如下:
窗口类:http://pastebin.com/Pcp0Ztks
按钮类:http://pastebin.com/438Jf33m
它是如何工作的:
有一个名为 bcolor 的变量会根据 mouseEvents 进行更改。
在初始化时,它取 bcolornorm 的值,然后根据 mouseEvents 取 bcolornorm、bcolorhover 或 bcolorclic 的值。
然后使用 g2d.setColor(bcolor) 设置颜色。
我尝试删除变量中的“this”,但它不起作用。老实说,我想不出为什么 bcolor 设置为 null 并且不取其他变量的值。
有人有解决办法吗?谢谢:)
【问题讨论】:
-
嗯...按钮类代码似乎表明,三个
bcolor...确实从未初始化。 -
哪些? Eclipse 没有任何指示。
-
应该,真的。检查构造函数,你没有以任何方式使用它的参数。