1

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);
                }
           }
          }
         }
4

1 に答える 1

2

JFileChooser クラスには、addActionListener(...)上記の ActionListener を受け入れるメソッドがあります。機能するためにポップアップとして表示する必要はありません。

上記の ActionListener を JFileChooser に追加するかどうか、またはどのように追加するかは決して教えてくれませんが、実際にこれを行ってもコードがまだ機能しない場合は、sscceを作成して投稿し、テストしてもらいたいと思うでしょう。修理。


編集

また、JFileChooser でのみ使用する ActionListener を作成し、次の行を削除します。

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

リスナーが 1 つのオブジェクトにのみ追加されている場合は、ソースをテストする必要はありません。

于 2013-10-11T12:17:01.020 に答える