[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(打开文件对话框)详解编程语言

 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/12636.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论