save.addActionListener(new  ActionListener()
    {int result=jf1.showSaveDialog(jf);
 if(result==JFileChooser.APPROVE_OPTION)
改为:
   save.addActionListener(new  ActionListener()
   {
    public void actionPerformed(ActionEvent e) {
    int result=jf1.showSaveDialog(jf);
 if(result==JFileChooser.APPROVE_OPTION)后面再加一个 }

解决方案 »

  1.   


    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;public class JNote1
    {
        JFrame jf = new JFrame("JMenuItem1");
        JTextArea theArea = null;
        JFileChooser jf1 = new JFileChooser("D:\\");    public JNote1()
        {
            theArea = new JTextArea();
            theArea.setEditable(true);
            jf.getContentPane().add(new JScrollPane(theArea));
            JMenuBar MBar = new JMenuBar();
            MBar.setOpaque(true);
            JMenu mfile = buildFileMenu();
            JMenu medit = buildEditMenu();
            JMenu mstyle = buildStyleMenu();
            JMenu mhelp = buildHelpMenu();
            MBar.add(mfile);
            MBar.add(medit);
            MBar.add(mstyle);
            MBar.add(mhelp);
            jf.setJMenuBar(MBar);
            jf.setSize(400, 200);
            jf.pack();
            jf.setVisible(true);
            jf.addWindowListener(new WindowAdapter()
            {
                public void windowClosing(WindowEvent e)
                {
                    System.exit(0);
                }
            });
        }    public JMenu buildFileMenu()
        {        JMenu thefile = new JMenu("File");
            JMenuItem newf = new JMenuItem("New", 'N');
            JMenuItem open = new JMenuItem("Open", 'O');
            JMenuItem save = new JMenuItem("Save", 'S');
            JMenuItem saveas = new JMenuItem("Save As", 'A');
            JMenuItem print = new JMenuItem("Print", 'P');
            JMenuItem close = new JMenuItem("Close", 'C');
            JMenuItem exit = new JMenuItem("Exit", 'X');        newf.setAccelerator(KeyStroke.getKeyStroke('N',
                java.awt.Event.CTRL_MASK, false));
            open.setAccelerator(KeyStroke.getKeyStroke('O',
                java.awt.Event.CTRL_MASK, false));
            save.setAccelerator(KeyStroke.getKeyStroke('S',
                java.awt.Event.CTRL_MASK, false));
            saveas.setAccelerator(KeyStroke.getKeyStroke('A',
                java.awt.Event.CTRL_MASK, false));
            print.setAccelerator(KeyStroke.getKeyStroke('P',
                java.awt.Event.CTRL_MASK, false));
            close.setAccelerator(KeyStroke.getKeyStroke('C',
                java.awt.Event.CTRL_MASK, false));
            exit.setAccelerator(KeyStroke.getKeyStroke('X',
                java.awt.Event.CTRL_MASK, false));        open.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    File file=null;
                    jf1.setApproveButtonText("确定");
                    jf1.setDialogTitle("DD");
                    int result = jf1.showOpenDialog(jf);
                    if (result == JFileChooser.APPROVE_OPTION)
                    {
                        file = jf1.getSelectedFile();
                    }
                    FileInputStream fileInput = null;
                    if (file != null)
                    {
                        try
                        {
                            fileInput = new FileInputStream(file);
                        }
                        catch (FileNotFoundException e2)
                        {
                            System.out.println("File not found");
                        }
                        int data;
                        try
                        {
                            while ( (data = fileInput.read()) != -1)
                            {
                                theArea.append(String.valueOf( (char) data));
                            }
                        }
                        catch (IOException e2)
                        {
                            System.out.println("IO error");
                        }
                        finally
                        {
                            try
                            {
                                if (fileInput != null)
                                {
                                    fileInput.close();
                                }
                            }
                            catch (IOException e1)
                            {}                    }
                    }
                }
            });        save.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    File file=null;
                    int result = jf1.showSaveDialog(jf);
                    if (result == JFileChooser.APPROVE_OPTION)
                    { //File file=null;
                        file = jf1.getSelectedFile();
                    }
                    //FileOutputStream fileOutput;
                    if (file != null)
                    {
                        FileOutputStream fileOutput=null;
                        try
                        {
                            fileOutput  = new FileOutputStream(file);
                        }
                        catch (FileNotFoundException ex)
                        {
                            System.out.println("File not found");
                        }
                        String str="";
                        try
                        {
                            fileOutput.write(str.getBytes());
                        }
                        catch (IOException ex)
                        {
                            System.out.println("IO error");
                        }
                        finally
                        {
                            try
                            {
                                if (fileOutput != null)
                                {
                                    fileOutput.close();
                                }
                            }
                            catch (IOException ex)
                            {}
                        }
                    }
                }
            });        // exit.addActionListener(new  ActionListener()
            // {System.exit(0);});        thefile.add(newf);
            thefile.add(open);
            thefile.add(save);
            thefile.add(saveas);
            thefile.add(print);
            thefile.addSeparator();
            thefile.add(close);
            thefile.add(exit);
            return thefile;
        }    public JMenu buildEditMenu()
        {
            JMenu theedit = new JMenu("Edit");
            JMenuItem cut = new JMenuItem("Cut", 'A');
            JMenuItem copy = new JMenuItem("Copy", 'C');
            JMenuItem paste = new JMenuItem("Paste", 'P');
            JMenuItem delete = new JMenuItem("Delete", 'D');
            JMenuItem selectall = new JMenuItem("SelectAll", 'A');
            cut.setAccelerator(KeyStroke.getKeyStroke('X', java.awt.Event.CTRL_MASK, false));
            copy.setAccelerator(KeyStroke.getKeyStroke('C',
                java.awt.Event.CTRL_MASK, false));
            paste.setAccelerator(KeyStroke.getKeyStroke('V',
                java.awt.Event.CTRL_MASK, false));
            delete.setAccelerator(KeyStroke.getKeyStroke('D',
                java.awt.Event.CTRL_MASK, false));
            selectall.setAccelerator(KeyStroke.getKeyStroke('A',
                java.awt.Event.CTRL_MASK, false));        theedit.add(cut);
            theedit.add(copy);
            theedit.add(paste);
            theedit.add(delete);
            theedit.add(selectall);
            return theedit;
        }    public JMenu buildStyleMenu()
        {
            JMenu thestyle = new JMenu("Style");
            JMenuItem font1 = new JMenuItem("Font", 'F');
            font1.setAccelerator(KeyStroke.getKeyStroke('F',
                java.awt.Event.CTRL_MASK, false));        thestyle.add(font1);
            return thestyle;
        }    public JMenu buildHelpMenu()
        {
            JMenu thehelp = new JMenu("Help");
            JMenuItem help = new JMenuItem("Help", 'H');
            help.setAccelerator(KeyStroke.getKeyStroke('H',
                java.awt.Event.CTRL_MASK, false));        thehelp.add(help);
            return thehelp;
        }    public static void main(String[] args)
        {
            new JNote1();
        }
    }