1

我是 Java GUI 的初学者,在设计弹出菜单时遇到问题。我有一个 JPanel,并希望有一个只有两种选择的弹出菜单。这是我的代码:

        ActionListener ordermethod = new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
            }
        };

        JPopupMenu popup = new JPopupMenu();

        JMenuItem arr = new JMenuItem("first");
        arr.addActionListener(ordermethod);
        popup.add(arr);
        arr = new JMenuItem("second");
        arr.addActionListener(ordermethod);
        popup.add(arr);
        myPanel.add(new JLabel("Pattern ordering method:"), gbc);
        myPanel.add(arr, gbc);

但问题是,当我运行代码时,我们看到 JLabel 和一个显示“第二”的框,当我单击“第二”找到“第一”时,得到一长串错误。(这是错误的某些部分)

Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: Not supported yet.
at main.Main$1.actionPerformed(Main.java:53)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

希望问题很清楚,您可以帮助我。谢谢。

4

1 回答 1

3

尝试throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.从您的actionPerformed方法中删除该行...并将其替换为您所需的应用程序逻辑

ActionListener ordermethod = new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        JOptionPane.showMessageDialog(null, "Hello");
    }
};

JPopupMenu popup = new JPopupMenu();

JMenuItem arr = new JMenuItem("first");
arr.addActionListener(ordermethod);
popup.add(arr);
arr = new JMenuItem("second");
arr.addActionListener(ordermethod);
popup.add(arr);
myPanel.add(new JLabel("Pattern ordering method:"), gbc);
myPanel.add(arr, gbc);
于 2013-05-07T00:33:24.590 回答