请大家帮帮忙啊....
   我想打开一个文本文件,如记事本那样:点击(文件)-->打开-->然后选择一个文本文件(*.txt),
然后该文件的内容能显示在窗口中。小弟不才,可能描述上有点不清楚,不过大概就是这个样子吧。呵呵
给出关键部分就行....!先在此谢谢大家啦

解决方案 »

  1.   


    import java.awt.Color;
    import java.awt.Container;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;import javax.swing.JColorChooser;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JTextArea;public class NoteBook extends JFrame {
    private JTextArea ta; private JMenuBar mb; private JMenu file; private JMenuItem open, color, exit; public NoteBook() {
    super("记事本");
    Container c = getContentPane();
    mb = new JMenuBar();
    open = new JMenuItem("打开");
    color=new JMenuItem("颜色");
    exit = new JMenuItem("退出");
    open.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
    JFileChooser fc=new JFileChooser();
    fc.setSize(300,300);
    fc.showOpenDialog(NoteBook.this);
    File selectedFile=fc.getSelectedFile();
    if (selectedFile!=null){
    NoteBook.this.ta.setText(readFile(selectedFile));
    }
    }
    });
    color.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e) {
    JColorChooser.showDialog(NoteBook.this, "请选择颜色", Color.RED);
    }
    });
    exit.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e) {
    System.exit(0);
    }
    });

    file=new JMenu("文件");
    mb.add(file);
    file.add(open);
    file.add(color);
    file.add(exit);
    setJMenuBar(mb);
    ta = new JTextArea();
    add(ta);
    setSize(800, 600);
    setVisible(true);
    } public static void main(String args[]) {
    NoteBook nb = new NoteBook();
    } private static String readFile(File f){
    try {
    BufferedReader r=new BufferedReader(new FileReader(f));
    String curLine;
    StringBuffer sb=new StringBuffer();
    while((curLine=r.readLine())!=null){
    sb.append(curLine);
    sb.append("\n");
    }
    r.close();
    return sb.toString();
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return "";
    }


    }