[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(); } } ? (编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |