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

[javaSE] GUI(打开文件对话框)的更多相关文章
- java中文件保存、打开文件对话框
package com.soft.test; //AWT: FileDialog类 + FilenameFilter类 可以实现本功能 //Swing: JFileChooser类 + FileFil ...
- QT 打开文件对话框汇总
Qstring fileName = QFileDialog::getOpenFileName(this, tr("open file"), " ", tr( ...
- C# OpenFileDialog打开文件对话框(详解)
一.打开文件对话框(OpenFileDialog) 1. OpenFileDialog控件的基本属性 InitialDirectory:对话框的初始目录 Filter: 获取或设置当前文件名筛选器字符 ...
- Qt打开文件对话框
项目中需要打开文件对话框,就查了一下,不得不说Qt的帮助文档做的真好,非常详细.要实现这个功能有两种方式,使用QFileDialog的静态方法,实例化QFileDialog对象. 基本算是照抄帮助文档 ...
- WebBrowser自动填充打开文件对话框
WebBrowser自动填充打开文件对话框 在使用WebBrowser编写自动表单填写软件的时候,不知道大家是否遇到国填写文件选择表单的情况.遇到这种情况的时候,无法直接队Html元素赋值,必须模 ...
- win10 只要打开文件对话框就卡死解决方法
我电脑的问题是:win10系统,只要打开 文件对话框就卡死,假死,cpu100% 一直没有解决,但是只要把缩略图关了,就ok. 但是又想要留着缩略图,还是得显示,于是乎一直在找解决办法. 此方法好像可 ...
- MFC程序打开文件对话框出错的问题解决
前几天从网上下了个图像分析的mfc小程序,是VC6的 用VC6在本地编译生成都没问题.执行起来弹出一个未处理的错误,程序崩溃退出. 想起来原来遇到过打开文件对话框方面的问题,当时项目时间紧张未能深究. ...
- 打开文件对话框在xp和win7上的实现文件任意多选
作者:朱金灿 来源:http://blog.csdn.net/clever101 在xp系统上进行文件多选,实际上其文件字符串数组的缓冲区是有限,并不能支持选择任意多个文件,为此以前我还写过一篇文章: ...
- VS2012下自定义打开文件对话框
VS2012下自定义打开文件对话框,MFC的CFileDialog封装了太多,太复杂,绕得头晕,自己封装一个得了 #pragma once #include <objbase.h> #in ...
随机推荐
- Windows Python Extension Packages
备注: 1.先要安装wheel库:pip install wheel 2.下载wheel,切换至下载路径,然后安装:pip install wheel库名.whl Windows Python Ext ...
- 开源代码MyCommons
MyCommons是我在开发Android App中,经过多个项目的实践和应用,上十次修改的,总结起来的代码,目的是希望大家能够快速的完成项目的开发. 主要也是参考了afinal和xutils2个框架 ...
- solr安装教程
Solr Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucen ...
- Python标准库中的生成器函数
一.用于过滤的生成器函数 - 从输入的可迭代对象中产出元素的子集,而不修改元素本身 import itertools l1 = [1,2,3,4,5] l2 = [True,False,True,Fa ...
- 编译原理(六)自底向上分析之LR分析法
自底向上分析之LR分析法 说明:以老师PPT为标准,借鉴部分教材内容,AlvinZH学习笔记. 基本概念 1. LR分析:从左到右扫描(L)自底向上进行规约(R),是规范规约,也即最右推导(规范推导) ...
- JS实现表格列宽拖动
在数据表格中,有时候需要拖动表格宽度,查看完整的数据,是很常用的功能. 1 效果 可以用纯JS就可以实现,如下,是正常情况下的表格: 拖动表格标题中间线,拖动后效果如下: 查看DEMO 2 代码 HT ...
- 【Alpha】Phylab 展示博客
目录 Phylab Alpha 展示博客 一.团队简介 二.项目目标 2.1 典型用户 2.2 功能描述 2.3 用户量 三.项目发布与展示 3.1 新功能 3.2 修复缺陷 3.3 问题与限制 3. ...
- windows phpinfo上不能找到memcache扩展 php版本5.6
我的memcache用的我是memcached-win64-1.4.4-14.zip这个版本memcache扩展库下载地址:http://windows.php.net/downloads/pecl/ ...
- hiho# 1398 最大权闭合子图 网络流
题目传送门 题意:给出n个活动,m个人,请人需要花费$a[i]$的钱,举办一次活动可以赚$b[i]$的钱,但是需要固定的几个人在场,一个人只需要请一次后就必定在场,问最大收益. 思路: 下列结论来自h ...
- Editplus下载、安装并最佳配色方案(强烈推荐)
不多说,直接上干货! Editplus下载 第一步:进入官网 https://www.editplus.com/ 第二步:下载 https://www.editplus.com/download.ht ...