代码之家  ›  专栏  ›  技术社区  ›  finnw

向jbutton添加子组件

  •  1
  • finnw  · 技术社区  · 15 年前

    是否可以将子组件放置在 JButton 并使其对鼠标事件的子集透明,以便:

    • 子组件接收 MouseMotionEvent S(因此它可以通过修改显示的图像来响应)
    • 单击仍会降低 按扭 “在”子组件后面

    如果将子组件添加到按钮,但没有进行其他更改,则单击子组件占用的区域不会激活该按钮。

    我知道这可以通过创建一个扩展 按扭 但我更喜欢使用已经编写的子组件。

    注:这纯粹是出于表面原因。子组件仅更改其自身外观。它不会响应单击而执行任何其他操作。只有一个 Action ,由按钮以正常方式触发。

    2 回复  |  直到 15 年前
        1
  •  1
  •   mohsen    15 年前

    是的,这是可能的,但可能有更好的方法来改变jbutton鼠标的外观。您可以扩展buttonUI来实现这一点。但是,如果要将组件放到jbutton上,则应将其他鼠标事件(例如单击)传递给基础jbutton。

        2
  •  0
  •   Eugene Ryzhikov    15 年前

    JXLayer正是你需要的。退房 https://jxlayer.dev.java.net/ 项目站点有几篇关于JXLayer在许多不同用例中的用法的好文章。