【发布时间】:2011-11-19 04:56:02
【问题描述】:
在我从my previous question 学到的东西之后,我想在按下扩展的 JButton 时使用纹理来绘制文本。第一步是设置按钮的 ChangeListener 和 stateChanged 方法;我有这些工作并且可以在方法中设置前景色,以便在按下按钮时文本将是一种颜色,而在不按下按钮时文本将是另一种颜色。
在此基础上,我将 setForeground 调用替换为用于切换按钮的 drawString 代码。它可以工作,但是在绘制文本后,它会立即被自动重新绘制的按钮覆盖。我尝试将代码放入“while (model.isPressed())”循环中,但这会产生一些非常糟糕的结果(系统挂起)。我将如何手动重新绘制按钮,以便仅在 stateChanged 方法期间重新绘制?
【问题讨论】:
-
您的问题处于高理论水平,请在sscce.org 表单中发布证明您的 JButton 问题的代码
-
我的 JButton 正在做它应该做的事情;我只是在征求意见,因为我不确定如何进行我想要进行的修改。
标签: java swing jbutton repaint