JTabbedPane中JFileChooser上的ActionListener

时间:2013-10-11 12:10:09

标签: java swing jfilechooser jtabbedpane

我正在尝试从JTabbedPane内部的JFileChooser加载文件。我希望在单击“打开”按钮时加载该文件,并在另一个窗格中显示该文件。我希望我解释自己好。我有一个ActionListener,并尝试了一些东西,但似乎我使用的代码没有触发,因为它甚至不会打印到控制台。你能不能看看我的代码,看看我哪里出错了。感谢

class listener implements ActionListener{
        public void actionPerformed (ActionEvent e)
        {.......// other actions

    else if (e.getSource() instanceof JFileChooser){
            JFileChooser openFile = (JFileChooser)e.getSource();
            String command = e.getActionCommand();
            if (command.equals(JFileChooser.APPROVE_SELECTION)){
                File selectedFile = openFile.getSelectedFile();
                System.out.print("test if working");
                tp.setSelectedIndex(0); //Index of JTab I wand file to load
                loadSavedGame(selectedFile);
                }
            else if (resume.equals(JFileChooser.CANCEL_OPTION)) {
                    //frame.setVisible(true);
                    tp.setSelectedIndex(0);
                }
           }
          }
         }

1 个答案:

答案 0 :(得分:2)

JFileChooser类有一个addActionListener(...)方法,可以接受上面的ActionListener。它不必显示为弹出工作。

您永远不会告诉我们您是否或如何将上面的ActionListener添加到JFileChooser,但如果您实际上这样做并且您的代码仍无法正常工作,那么您将需要创建并发布{{3我们来测试和修复。


修改

另外,我会创建仅与JFileChooser一起使用的ActionListener,从而摆脱这一行:

else if (e.getSource() instanceof JFileChooser){

如果只将侦听器添加到一个对象,则无需测试源。