你的位置:首页 > Java教程

[Java教程][javaSE] GUI(打开文件对话框)


使用FileDialog可以打开文件对话框,根据模式不同,可以分为打开文件和保存文件对话框

 

获取FileDialog对象,new出来,参数:所属Frame对象,String的标题,FileDialog.LOAD

给MenuItem对象设置点击事件,点击事件中,调用FileDialog对象的setVisible(true)方法

调用FileDialog对象的getDirectory()方法,得到String的目录

调用FileDialog对象的getFile()方法,得到String的文件名称

 

选中文件后,在文本域中显示出来

获取TextArea对象,用来显示文本字符

获取到File对象,构造参数:String目录,String文件名

读取字符流数据,显示出来

import java.awt.FileDialog;import java.awt.Frame;import java.awt.Menu;import java.awt.MenuBar;import java.awt.MenuItem;import java.awt.TextArea;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;public class MenuBarDemo {  private Frame frame;  private MenuBar menuBar;  private Menu menu;  private Menu subMenu;  private MenuItem menuItem,openFileBtn;  private FileDialog openFile;  private TextArea ta;  public MenuBarDemo() {    init();    addEvents();  }  public void init() {    frame = new Frame("菜单测试");    frame.setBounds(300, 200, 500, 400);    // 菜单栏    menuBar = new MenuBar();    // 菜单    menu = new Menu("文件");    // 菜单项    openFileBtn=new MenuItem("打开");    menuItem = new MenuItem("退出");    // 菜单添加菜单项    menu.add(openFileBtn);    menu.add(menuItem);    // 菜单栏添加菜单    menuBar.add(menu);    frame.setMenuBar(menuBar);    //文本域    ta=new TextArea();    frame.add(ta);        frame.setVisible(true);  }  public void addEvents(){    frame.addWindowListener(new WindowAdapter() {      @Override      public void windowClosing(WindowEvent e) {        System.exit(0);      }    });    //菜单点击    menuItem.addActionListener(new ActionListener() {      @Override      public void actionPerformed(ActionEvent e) {        System.exit(0);      }    });    //打开文件    openFileBtn.addActionListener(new ActionListener() {      @Override      public void actionPerformed(ActionEvent e) {        openFile=new FileDialog(frame, "打开文件", FileDialog.LOAD);        openFile.setVisible(true);        String dirName=openFile.getDirectory();        String fileName=openFile.getFile();        System.out.println(dirName);                //读取展示文件        if(dirName==null || fileName==null){          return;        }        File file=new File(dirName,fileName);        try {          BufferedReader br=new BufferedReader(new FileReader(file));          String line;          StringBuilder text = new StringBuilder();          while((line=br.readLine()) != null){            text.append(line);            text.append("\r\n");          }          ta.setText(text.toString());        } catch (Exception e1) {          e1.printStackTrace();        }              }    });  }  /**   * @param args   */  public static void main(String[] args) {    new MenuBarDemo();  }}