用java的swing写一个简单的界面,要求用file类来提取本地的文件.弹出对话框用于选择本地电脑中的文件,选中该文件,并对该文件进行读写,并显示在textarea中.谢谢了!我刚做,对文件选取的时候的过滤做的不好,要求用2个jpanel,一个为菜单栏,一个用于显示图片,并一个用于显示文字信息.

解决方案 »

  1.   

    这里有个模拟的记事本 应该和你说的差不多把  主要就是对话框获取文件那块
    package AWT组建.文件对话框;
    import java.awt.*;
    import java.io.*;
    import java.awt.event.*;import javax.swing.JOptionPane;
    public class MainForm extends Frame implements ActionListener{ /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    new MainForm();
    }
    MenuItem open=new MenuItem("打开");
    MenuItem save=new MenuItem("保存");
    MenuItem exit=new MenuItem("退出");
    TextArea t=new TextArea();
    public MainForm()
    {
    super("记事本");
    this.setBounds(200, 200, 800, 600);
    MenuBar menubar=new MenuBar();
    Menu menu1=new Menu("文件");
    menu1.setShortcut(new MenuShortcut(KeyEvent.VK_F));
    Menu menu2=new Menu("编辑");
    menu2.setShortcut(new MenuShortcut(KeyEvent.VK_E));
    Menu menu3=new Menu("格式");
    menu3.setShortcut(new MenuShortcut(KeyEvent.VK_O));
    Menu menu4=new Menu("帮助");
    menu4.setShortcut(new MenuShortcut(KeyEvent.VK_H));


    open.addActionListener(this);
    save.addActionListener(this);
    exit.addActionListener(this);
    menu1.add(open);
    menu1.add(save);
    menu1.addSeparator();
    menu1.add(exit);
    exit.setShortcut(new MenuShortcut(KeyEvent.VK_E));
    this.add(t,BorderLayout.CENTER);

    menubar.add(menu1);
    menubar.add(menu2);
    menubar.add(menu3);
    menubar.add(menu4);
    this.addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e)
    {
    System.exit(0);
    }
    });
    this.setMenuBar(menubar);
    this.setVisible(true);
    }
    public void actionPerformed(ActionEvent e)
    {
    FileDialog file;
    if(e.getSource()==open)
    {
    file=new FileDialog(this,"打开文件",FileDialog.LOAD);
    file.setVisible(true);
    String filename=file.getDirectory()+"\\"+file.getFile();
    try {
    FileReader fr=new FileReader(filename);
    BufferedReader br=new BufferedReader(fr);
    String s="";
    t.setText("");
    while((s=br.readLine())!=null)
    {
    t.append(s+"\n");

    }
    br.close();
    fr.close();
    } catch (Exception e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }


    }else if(e.getSource()==save)
    {
    file=new FileDialog(this,"保存文件",FileDialog.SAVE);
    file.setVisible(true);
    String filename=file.getDirectory()+"\\"+file.getFile();
    try {
    FileWriter fw=new FileWriter(filename);
    System.out.println(filename);
    fw.write(t.getText().toCharArray());
    fw.close();
    } catch (IOException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }

    }else if(e.getSource()==exit)
    {
    int result=JOptionPane.showConfirmDialog(this, "您确认要退出吗", "提示", JOptionPane.YES_NO_OPTION);
    if(result==JOptionPane.YES_OPTION)
    {
    System.exit(0);
    }
    }
    }}
      

  2.   

    晕死。。代码在jcreator下可以运行通过,也有界面,在eclipse下却提示出错
    郁闷,不是第一次碰到这样的事了哪位高手解释下啊
      

  3.   

    装完jdk后,有一个demo目录,里面有好多实例,多看看很有帮助。