是否可以将子组件放置在 JButton
内并使其对鼠标事件的子集透明,以便:
- 子组件接收
MouseMotionEvent
(因此它可以通过修改显示的图像进行响应) - 单击仍会按下子组件“后面”的
JButton
如果将子组件添加到按钮但未进行其他更改,则单击子组件占据的区域不会激活按钮。
我知道这可以通过创建一个扩展 JButton
的新类来实现,但我更愿意使用已经编写的子组件。
注意:这纯粹是出于美观原因。子组件仅更改其自身的外观。它不会执行任何其他操作来响应点击。只有一个 Action
,由按钮以正常方式触发。
最佳答案
是的,这是可能的,但可能有更好的方法来更改鼠标悬停时 JButton 的外观。您可以扩展 ButtonUI 来执行此操作。但是,如果您想将组件放在 JButton 上,则应该将其他鼠标事件(例如单击)传递给底层 JButton。
关于java - 将子组件添加到 JButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1281612/