程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> [javaSE] GUI(打開文件對話框),javasegui

[javaSE] GUI(打開文件對話框),javasegui

編輯:JAVA綜合教程

[javaSE] GUI(打開文件對話框),javasegui


使用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();
    }

}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved