是否可以将子组件放在JButton
内,并使其对鼠标事件的子集透明,以便:
MouseMotionEvent
s(因此可以通过修改显示的图像进行响应)JButton
”
如果您将子组件添加到按钮但不进行其他更改,则单击子项占用的区域不会激活该按钮。
我知道这可以通过创建一个扩展JButton
的新类来实现,但我更愿意使用已经编写过的子组件。
注意:这纯粹是出于美观的原因。子组件仅更改其自身外观。它不会针对点击执行任何其他操作。只有一个Action
,由按钮以正常方式触发。
答案 0 :(得分:1)
是的,这是可能的,但可能有更好的方法来改变鼠标悬停的JButton的外观。你可以扩展一个ButtonUI来做到这一点。但是,如果要将组件放在JButton上,则应将其他鼠标事件(例如单击)传递给基础JButton。
答案 1 :(得分:0)
JXLayer就是你需要的东西。查看https://jxlayer.dev.java.net/ 项目网站上有几篇关于JXLayer用于许多不同用例的好文章。