是否可以在JButton中放置子组件并使其对鼠标事件的子集透明,以便:
子组件接收到image)
MouseMotionEvent来响应,仍然可以“压制”子组件后面的JButton。
如果将子组件添加到按钮中,但没有进行任何其他更改,则单击子控件所占用的区域将不会激活该按钮。
我知道这可以通过创建一个扩展JButton的新类来实现,但是我更喜欢使用已经编写好的子组件。
注:这纯粹是为了美容的原因。子组件只更改自己的外观。它不会对单击执行任何其他操作。只有一个Action,由按钮以正常方式触发。
发布于 2009-08-15 10:59:17
是的,这是可能的,但可能有更好的方法来改变鼠标上的JButton外观。您可以扩展一个ButtonUI来完成这个任务。但是,如果要将组件放到JButton上,则应该将其他鼠标事件(例如单击)传递给基础JButton。
发布于 2009-08-15 17:23:42
JXLayer就是你需要的东西。查看https://jxlayer.dev.java.net/项目站点有几篇关于JXLayer在许多不同用例中的使用的好文章。
https://stackoverflow.com/questions/1281612
复制相似问题