用不同的渐变重新绘制摆动按钮
单击 JButton 时如何用不同的渐变重新绘制它。我已经重写了paintComponent(Graphics)方法来进行初始绘制。 Onclick 我想重新绘制它,但我不希望用户在 actionperformed 事件中执行此操作,因为我希望这是一个独立的组件。
有什么想法可以实现这一点。
谢谢
How can I repaint a JButton with a different gradient when it is clicked. I have overridden the paintComponent(Graphics) method to do the initial paint. Onclick I want to repaint it but I dont want the user to be doing this in the actionperformed event as I want this to be a standalone component.
Any ideas how this can be achieved.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最简单的方法是使用
setPressedIcon()
,但您也可以覆盖ButtonUI
委托,如此 示例。The easiest approach is to use
setPressedIcon()
, but you can also overridepaint()
in theButtonUI
delegate, as shown in this example.还有另一个有趣的例子:
UIManager 中的此键返回
ColorUIResource
(UIManagerDefaults 中的更多内容,作者:@camickr)需要使用
ColorUIResource
而不是Gradient
、Button.gradien
t 返回颜色和插图数组
==ColorUIResource
And another amusing example:
this
Key in UIManager
returnsColorUIResource
(more in UIManagerDefaults by @camickr)is required to use
ColorUIResource
instead ofGradient
,Button.gradien
t returnsarrays of Colors and Insets
==ColorUIResource