【问题标题】:How can I press a swing JButton using mouse events?如何使用鼠标事件按下摇摆 JButton?
【发布时间】:2010-08-04 03:20:38
【问题描述】:

我有一个 JButton(或任何组件,真的),我想欺骗它认为它已被单击,因此触发其操作执行事件。我不想直接调用执行的操作或 doClick,因为我正在尝试制作一个超越按钮的泛化解决方案,并且我受限于发布事件。

我原以为将 MousePressed 事件发布到系统事件队列就可以了,但没有。 (具有适当的位置、点击次数等)

然后我认为鼠标输入然后鼠标移动,鼠标按下,鼠标释放,鼠标点击,但没有。

这些都不会导致 JButton 像我实际单击它时那样触发其执行的操作。

有没有人通过鼠标事件驱动 JButton 吐出它的动作执行事件?用鼠标事件移动了一个 JSlider?展开树节点?

感谢您的帮助。

【问题讨论】:

    标签: swing event-handling


    【解决方案1】:

    你试过 fireActionPerformed 方法吗?我现在想不起来是否所有组件都有它,但如果我没记错的话,所有按钮和菜单项都应该有它。只是一个想法

    【讨论】:

    • fireActionPerformedprotected,因此您需要在子类中公开它。
    • 您必须这样做,因为只有同一个包中的类或子类才能使用它。你如何去实现其余的完全取决于你。这不是一件常见的事情,我当然从未做过,我只是假设它会根据 javadocs 所说的内容起作用
    猜你喜欢
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多