与JButton,并JFileChooser的错误消息(error message with JBu

2019-10-29 14:42发布

我想有一个JFileChooser动作的按钮。 这是我写的代码:

public class Main {

private static String fullPath;
private JFileChooser inputFile;

public static void main(String args[]) throws FileNotFoundException, IOException {
    try {

        GridBagConstraints gbc = new GridBagConstraints();

        JButton inputButton = new JButton("Browse input file");

        myPanel.add(inputButton, gbc);

        inputButton.addActionListener(new ActionListener() {
        public void ActionPerformed(ActionEvent e) {
        JFileChooser inputFile = new JFileChooser();
        inputFile.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);

        File file1 = inputFile.getSelectedFile();
        String fullpathTemp = (String) file1.getAbsolutePath();
        fullPath = fullpathTemp;
            }
                public void actionPerformed(ActionEvent e) {
                throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
            }
        });


} catch (Exception e) {
        System.err.println("Error: " + e.getMessage());
    } finally {
    }
}
}

但问题是,当我运行它,我还有很长的错误消息的一部分:

Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: Not     supported yet.
at main.Main$1.actionPerformed(Main.java:200)
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)

Answer 1:

ActionListener这里明确地抛出一个UnsupportedOperationException 。 移动JFileChooser功能引入ActionListener

input_button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        JFileChooser inputFile = new JFileChooser();
        inputfile.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
        if (inputfile.showOpenDialog(myFrame) == JFileChooser.APPROVE_OPTION) {
            File file1 = inputFile.getSelectedFile();
            String fullpathTemp = (String) file1.getAbsolutePath();
            ...
        }
    }
});


Answer 2:

所述ActionListener接口定义了一个名为方法actionPerformed 。 你必须在你的类,一个叫两个方法actionPerformed和另一个叫ActionPerformed 。 那个被调用的一个是在接口中定义的,即actionPerformed 。 你在你的类,它的唯一的语句是抛出一个这样的方法UnsupportedOperationException 。 该ActionPerformed方法,其中包含真正的代码,不会被调用。

解:

剔除存根actionPerformed方法并更改名称ActionPerformedactionPerformed 。 或者(虽然不推荐),使actionPerformed调用ActionPerformed



文章来源: error message with JButton and JFileChooser