【问题标题】:Swing Component Event HandlersSwing 组件事件处理程序
【发布时间】:2012-04-05 22:32:45
【问题描述】:

我有一个名为 Menu 的菜单类,它定义了一个 JFrame,这个类实例化了两个 JPanel 对象,其中包含文本字段和按钮。每个 JPanel 扩展类内部都有一个私有内部类,用于处理按下按钮触发的事件。

我想知道 Menu 类是否有办法检测 JPanel 内的按钮触发的事件。

您可以在 Menu 类中的 JPanel 中添加一个侦听器并执行类似的操作吗? :

if(event.getSource() == panel.getButton1()){ 
    //do button1 code 
} 

【问题讨论】:

    标签: java swing user-interface awt


    【解决方案1】:

    JPanels 和实际上所有 Swing 组件都支持属性更改,因此您可以轻松地将 PropertyChangeListener 添加到任何组件并监听状态更改。只需确保在状态发生变化的代码中调用firePropertyChange(...) 即可。

    【讨论】:

      【解决方案2】:

      您始终可以将侦听器添加到组件(例如ActionListener 实例)并处理它们。

      在设计方面,您应该考虑拆分菜单/布局和事件处理,即使用单独的控制器来监听事件并处理它们。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-25
        • 2017-07-09
        • 2013-10-24
        • 1970-01-01
        相关资源
        最近更新 更多