4

JFileChooserを使用してファイルの参照クラスを実行しています。コンパイル時に問題が発生します。それはシンボルactionlistenerを見つけることができないより私に言い続けます。以下は私のコードです:

import java.util.*;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.text.*;
import javax.swing.filechooser.*;


public class BrowseForFile 
{
private JTextField txtFileName;
private JFrame layout;

public BrowseForFile()
{
    super();
    initialize();
}

    public void initialize() 
    {
        //empty layout
        layout = new JFrame();
        layout.setTitle("Task Synchronization ");
        layout.setBounds(100, 100, 800, 600);
        layout.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        layout.getContentPane().setLayout(null);

        //set the copyright
        JLabel lblNewLabel_5 = new JLabel("(c) 2012 All Rights Reserved");
        lblNewLabel_5.setForeground(Color.GRAY);
        lblNewLabel_5.setFont(new Font("Tahoma", Font.PLAIN, 10));
        lblNewLabel_5.setHorizontalAlignment(SwingConstants.RIGHT);
        lblNewLabel_5.setBounds(527, 548, 255, 14);
        layout.getContentPane().add(lblNewLabel_5);

        //set the label
        JLabel lblSendAFile = new JLabel("Select a file to be sent to all nodes");
        lblSendAFile.setBounds(404, 400, 378, 14);
        layout.getContentPane().add(lblSendAFile);

        //set the textfield
        txtFileName = new JTextField();
        txtFileName.setBounds(404, 425, 277, 20);
        layout.getContentPane().add(txtFileName);
        txtFileName.setColumns(10);

        //set the browse button and let it to choose file after click.
        JButton btnBrowse = new JButton("Browse");
        btnBrowse.setBounds(691, 424, 91, 23);
        layout.getContentPane().add(btnBrowse);

        btnBrowse.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                JFileChooser chooser = new JFileChooser();
                chooser.setCurrentDirectory(new File(dirName));
                chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);

                FileNameExtensionFilter filter = new FileNameExtensionFilter(".txt only", "txt");
                chooser.setFileFilter(filter);

                try {
                int code = chooser.showOpenDialog(null);
                if (code == JFileChooser.APPROVE_OPTION) {
                File selectedFile = chooser.getSelectedFile();
                Scanner input = new Scanner(selectedFile); 
                String f=selectedFile.getName();
                txtFileName.setText("File Name is: "+f);



                }

                } catch (Exception f) {
                f.printStackTrace();
                }
            }
        });
    }







    public static void main(String[] args)
    {
        try 
        {
            BrowseForFile window = new BrowseForFile();
            window.layout.setVisible(true);
        } 
        catch (Exception e) 
        {
            e.printStackTrace();
        }
    }


}

これはエラーです:

BrowseForFile.java:52: error: cannot find symbol
                    btnBrowse.addActionListener(new ActionListener()
                                                    ^
symbol:   class ActionListener
location: class BrowseForFile
1 error

誰かがエラーを教えてもらえますか?前もって感謝します。

4

4 に答える 4

12
import java.awt.event.ActionListener; // seems to be missing.
于 2012-12-04T08:49:14.840 に答える
6

次のクラスをインポートする必要があります。

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
于 2012-12-04T08:53:22.690 に答える
2

あなたの質問はすでに答えられているので、私は提案をしたいと思います。

EclipseやNetbeansなどのIDEを使用します。彼らはあなたの人生をはるかに楽にするインポート、フォーマット、チェックされた例外などの世話をします。

于 2012-12-14T12:33:19.120 に答える
1

import java.awt。*は、このパッケージからすべてのクラスをインポートすることを意味しますが、サブパッケージからはインポートしません。サブパッケージごとに、個別のインポートステートメントを配置する必要があります。たとえば、java.awt.eventをインポートし、java.awt.datatransfer。*をインポートします。

于 2012-12-04T10:28:50.613 に答える