【问题标题】:Add event to another class button i将事件添加到另一个类按钮 i
【发布时间】:2013-10-30 07:22:07
【问题描述】:

看,我这样做了:

我有一个带菜单栏的 JPanel:

public class panelMenuBar {

    JPanel panelMenuBar = new JPanel(new GridBagLayout());
    GridBagConstraints gbc = new GridBagConstraints();

    JMenuBar menubar = new JMenuBar();

    JMenu menuDistribuidor = new JMenu("Distribuidor");
    JMenuItem menuDistribuidorDistribuir = new JMenuItem("Distribuir");
    JMenuItem menuDistribuidorDeletar = new JMenuItem("Deletar");
    JMenuItem menuDistribuidorAlterar = new JMenuItem("Alterar");

    public JPanel montarPanelMenuBar() {
        gbc.fill = GridBagConstraints.HORIZONTAL;
        gbc.gridx = 0;
        gbc.gridy = 0;
        gbc.weightx = 0.1;
        gbc.weighty = 0.1;
        menubar.add(menuDistribuidor);
        menuDistribuidor.add(menuDistribuidorDistribuir);
        menuDistribuidor.add(menuDistribuidorAlterar);
        menuDistribuidor.add(menuDistribuidorDeletar);

        panelMenuBar.add(menubar,gbc);




        return panelMenuBar;

    }



}

在此之后,我将 PanelMenuBar 添加到另一个类中的另一个 JPANEL,但现在我需要为 MenuItems 添加事件以更改其他类控制,这可能吗?

我在每个类中制作了所有内容,以了解其工作原理,当然还使代码更易于理解/阅读/修复

【问题讨论】:

  • 您应该为要在其他类中添加事件的菜单创建至少 getter。
  • 但是有没有办法为 menuEVENT 创建一个 getter,我现在没有
  • 如果你可以访问其他类的菜单,那么你可以在那里添加你的事件监听器
  • 我有但是看,该事件需要更改另一个类,将 CLass JPanel1 添加到 MainPainel,当我单击某些内容时更改 JPanel2 类(也在 main 中添加,但在 Jpanel1 下),明白,这就是我的问题 =(

标签: java events jpanel menuitem


【解决方案1】:

如果您检查JMenuItem API,您将看到可以触发按键事件(使用fireMenuKeyPressed(MenuKeyEvent event))。您还可以在另一个类中为该事件添加一个侦听器(使用 addMenuKeyListener(MenuKeyListener l) )。现在您只需要检查触发的事件是否适合您。为此,您可以检查 MenuKeyEvent 提供的源。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 2019-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多