学习中,从书上抄下来的一段代码,编译运行时报错,麻烦帮忙看一下错在什么地方了?报错如下:
--------------------Configuration: <Default>--------------------
E:\JAVA_Workspace\ImageViwer.java:40: 非法的类型开始
            if (result == JFileChooser.APPROVE_OPTION)
            ^
E:\JAVA_Workspace\ImageViwer.java:40: 需要 <标识符>
            if (result == JFileChooser.APPROVE_OPTION)
                      ^
E:\JAVA_Workspace\ImageViwer.java:40: 需要 <标识符>
            if (result == JFileChooser.APPROVE_OPTION)
                                                     ^
3 错误Process completed.
代码如下:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;public class ImageViwer
{
public static void main(String[] args)
{
JFrame frame = new ImageViwerFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(ture);
}
}class ImageViwerFrame extends JFrame
{
public ImageViwerFrame()
{
setTitle("ImageViwer");
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()
{
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 AcitonListener()
{
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 DEFAULD_HEIGH = 400;
}

解决方案 »

  1.   

    1.frame.setVisible(ture);    true写错了, 编译不过
    2.DEFAULT_HEIGHT 这个成员变量定义成DEFAULD_HEIGH了,编译不过
      

  2.   


    package csdn;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.swing.*;
    public class ImageViwerFrame extends JFrame{

     private JLabel label;
        private  JFileChooser chooser;
        private static final int DEFAULT_WIDTH = 300;
        private static final int DEFAULT_HEIGHT = 400;
     public ImageViwerFrame()
        {
            setTitle("ImageViwer");
            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);
            class MyActionListener implements ActionListener{
                
    public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    int result = chooser.showOpenDialog(null);
                if (result == JFileChooser.APPROVE_OPTION)
                {
                    String name = chooser.getSelectedFile().getPath();
                    label.setIcon(new ImageIcon(name));
                    
                }
    }
            };
            openItem.addActionListener(new MyActionListener());
            
            JMenuItem exitItem = new JMenuItem("EXIT");
            menu.add(exitItem);
            
            class MyActionListener2 implements ActionListener{
                
    public void actionPerformed(ActionEvent e) {
     System.exit(0);
    }
            };
            
            exitItem.addActionListener(new MyActionListener2());
        }
            
        public static void main(String[] args)
            {
            JFrame frame = new ImageViwerFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
            }}
      

  3.   


    package csdn;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.swing.*;
    public class ImageViwerFrame extends JFrame{

     private JLabel label;
        private  JFileChooser chooser;
        private static final int DEFAULT_WIDTH = 300;
        private static final int DEFAULT_HEIGHT = 400;
     public ImageViwerFrame()
        {
            setTitle("ImageViwer");
            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 actionPerformed(ActionEvent e)
                    {
                     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 e)
                    {
                     System.exit(0);
                    }
               }
            );
        }
            
        public static void main(String[] args)
            {
            JFrame frame = new ImageViwerFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
            }}
    匿名内部类写法
      

  4.   

    import java.awt.event.*;
    import java.io.*;
    import javax.swing.*;public class ImageViwer
    {
        public static void main(String[] args)
            {
            JFrame frame = new ImageViwerFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
            }
    }class ImageViwerFrame extends JFrame
    {
        public ImageViwerFrame()
        {
            setTitle("ImageViwer");
            setSize(DEFAULT_WIDTH, DEFAULT_HEIGH);
            
            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 actionPerformed(ActionEvent e){
             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_HEIGH = 400;
    }                        兄弟,别急,从基础开始,你那段代码上的错误都是些低级错误,再接再厉吧