加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2021-05-21 06:44:38 所属栏目:大数据 来源: https://www.jb51.cc
导读:使用 FileDialog 可以打开文件对话框,根据模式不同,可以分为打开文件和保存文件对话框 ? 获取 FileDialog 对象, new 出来,参数:所属 Frame 对象, String 的标题, FileDialog.LOAD 给 MenuItem 对象设置点击事件,点击事件中,调用 FileDialog 对象的

使用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;
 java.awt.Frame;
 java.awt.Menu;
 java.awt.MenuBar;
 java.awt.MenuItem;
 java.awt.TextArea;
 java.awt.event.ActionEvent;
 java.awt.event.ActionListener;
 java.awt.event.WindowAdapter;
 java.awt.event.WindowEvent;
 java.io.BufferedReader;
 java.io.File;
 java.io.FileReader;

public class MenuBarDemo {
    private Frame frame;
     MenuBar menuBar;
     Menu menu;
     Menu subMenu;
     MenuItem menuItem,openFileBtn;
     FileDialog openFile;
     TextArea ta;
    public MenuBarDemo() {
        init();
        addEvents();
    }

    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= TextArea();
        frame.add(ta);
        
        frame.setVisible(true);

    }

     addEvents(){
        frame.addWindowListener( WindowAdapter() {
            @Override
             windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        菜单点击
        menuItem.addActionListener( ActionListener() {
            @Override
             actionPerformed(ActionEvent e) {
                System.exit(0打开文件
        openFileBtn.addActionListener( actionPerformed(ActionEvent e) {
                openFile=new FileDialog(frame,"打开文件",FileDialog.LOAD);
                openFile.setVisible();
                String dirName=openFile.getDirectory();
                String fileName=openFile.getFile();
                System.out.println(dirName);
                
                读取展示文件
                if(dirName==null || fileName==null){
                    return;
                }
                File file= File(dirName,fileName);
                try {
                    BufferedReader br=new BufferedReader( FileReader(file));
                    String line;
                    StringBuilder text =  StringBuilder();
                    while((line=br.readLine()) != ){
                        text.append(line);
                        text.append("rn");
                    }
                    ta.setText(text.toString());
                } catch (Exception e1) {
                    e1.printStackTrace();
                }
                
            }
        });
    }

    /**
     * @param args
     */
    static  main(String[] args) {
         MenuBarDemo();
    }

}

?

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读