zoukankan      html  css  js  c++  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("
    ");
                        }
                        ta.setText(text.toString());
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                    
                }
            });
        }
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            new MenuBarDemo();
        }
    
    }

  • 相关阅读:
    sqlplus edit 方式设置成vi
    oracle minus union intersect
    子查询中可以包含order by 子句--(在from里面)
    Linux 7 Ansible 初学 一个简单的 playbook 学习 yum 模块
    Linux 7 Ansible 初学 配置被控制机器的 YUM 源
    Linux 7 安装 Ansible 并作基本的配置
    Linux 7 安装开发工具包 Development Tools
    Linux 7.0 安装 mariadb 数据库及初始化,创建数据库,创建用户
    Linux bash初学 if语句
    Linux bash初学 case语句
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5590190.html
Copyright © 2011-2022 走看看