日期:2014-05-20  浏览次数:20704 次

麻烦高手帮忙看下 为什么会出错?
Java code
import java.awt.EventQueue;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;

public class ImageViewer
{
    public static void main(String[] args)
    {
        EventQueue.invokeLater(new Runnable()
        {
            public void run()
            {
            JFrame frame = new ImagerViewerFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
        }
    });
}
}
class ImagerViewerFrame extends JFrame
{
    public ImagerViewerFrame()
    {
        setTitle("ImageViewer");
        setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
        
        label = new JLabel();
        add(label);
        
        chooser = new JFileChooser();
        chooser.setCurrentDirectory(new File("."));
        
        JMenuBar menuBar = new JMenuBar();
        setJMenuBar(menuBar);
        
        JMenu menu = new JMenu("File");
        menuBar.add(menu);
        
        JMenuItem openItem = new JMenuItem("Open");
        menu.add(openItem);
        openItem.addActionListener(new ActionListener()
        {
            public void actionPerforme(ActionEvent event)
            {
            int result = chooser.showOpenDialog(null);
            
            if (result == JFileChooser.APPROVE_OPTION)
            {
                String name = chooser.getSelectedFile().getPath();
                label.setIcon(new ImageIcon(name));
            }
    }
});
    JMenuItem exitItem = new JMenuItem("Exit");
    menu.add(exitItem);
    exitItem.addActionListener(new ActionListener()
    {
        public void actionPerformed(ActionEvent event)
        {
            System.exit(0);
        }
    });
    }
    private JLabel label;
    private JFileChooser chooser;
    private static final int DEFAULT_WIDTH = 300;
    private static final int DEFAULT_HEIGHT = 400;
}


openItem.addActionListener(new ActionListener()

出错的源头是在这个地方 以及他对应的 });

这个符号..

程序可以正常运行.但是点击File后选择文件即会报错

我是在看JAVA核心技术卷1 里跟着学跟着做发现的问题..参照书给的源代码跟书的源代码不一样..实在无能威力 请求CSDN的JAVA高手帮忙看看..感谢

------解决方案--------------------
楼主这么粗心,public void actionPerforme(ActionEvent event)
方法名写错了,少了个d,建议以后用eclipse自动生成代码