繁体   English   中英

在单独的类中使用ActionListener

[英]Using ActionListener in separate class

我正在尝试为动作侦听器创建一个单独的类,但我不确定如何将动作侦听器添加到菜单项。 我一直在尝试一些不同的东西,但没有人让消息对话框出现。 我有一个单独的类中的动作监听器和一个单独的类中的菜单项,我试图让它们一起工作。

public class HangmanView {
    Listener listener = new Listener();

    public JMenuItem getMenuItem() {
        JMenuItem menuItem = new JMenuItem("Developer", KeyEvent.VK_T);
        menuItem.addActionListener(new Listener());
        return menuItem;
    }

    public JMenuBar menuBar() {

        JMenuBar menuBar = new JMenuBar();
        JMenu menu = new JMenu("File");
        menuBar.add(menu);
        menu.add(getMenuItem());
        return menuBar;
    }

另一类:

public class Listener {
    JFrame dialogFrame = new JFrame();

    public JFrame menuItemListener() {
        HangmanView hangmanView = new HangmanView();

        hangmanView.getMenuItem().addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {// right click key
                JOptionPane.showMessageDialog(dialogFrame, "Developer: Joe"
                        , "Developer",
                        JOptionPane.INFORMATION_MESSAGE);
            }// end actionPerformed method
        });
        return dialogFrame;

    }
}

您似乎在课程,界面等方面遇到了很多困惑,所以实际上很难知道从哪里开始!

首先,您的Listener类需要实现ActionListener。

然后,您需要以与现有相同的方式将其添加到HangmanView类中:

public class Listener implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent e) {// right click key
        JOptionPane.showMessageDialog(dialogFrame, "Developer: Joe"
                , "Developer",
                JOptionPane.INFORMATION_MESSAGE);
    }// end actionPerformed method
});

就是这样,你完成了......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM