//GUI-打开文件
import java.awt.*;
import java.awt.event.*;
import java.io.*;//file
class MyMenuTest
{
private Frame f;//窗口
private MenuBar bar;//菜单栏
private TextArea ta;//文本区域
private Menu fileMenu,subMenu;//菜单
private MenuItem openItem,saveItem,closeItem,subItem;//菜单项
private FileDialog openDia,savDia//文件对话框,有打开,关闭 2种模式
MyMenuDemo()
{
init();
}
public void init()
{
f = new Frame("my window"); //窗口框架初始化 标题
f.setBounds(300,100,650,600);//窗口框架 边界
//f.setLayout(new FlowLayout());//窗口框架 流式布局,不设置就默认是边界全填充布局
bar = new MenuBar();
ta = new TextArea();
fileMenu = new Menu("文件");//菜单 名称
subMenu = new Menu("子菜单");
subItem = new MenuItem("子条目");//菜单项目 名称
openItem = new MenuItem("打开");
saveItem = new MenuItem("保存");
closeItem = new MenuItem("退出");//菜单项目 名称
subMenu.add(subItem);//subMenu添加subItem子条目 菜单项目
fileMenu.add(subMenu);//菜单里面添加submenu子菜单
fileMenu.add(subItem);//菜单里面 包含 菜单项目
fileMenu.add(closeItem);//菜单里面 包含 菜单项目
bar.add(fileMenu);//菜单栏里面添加 菜单
f.setMenuBar(bar);//窗口框架 添加菜单栏要通过setMenuBar()方法,参数里面放MenuBar名称
openDia = new FileDialog(f,"我要打开",FileDialog.LOAD);//文件对话框,有打开,保存 2种模式 (frame f窗口框架,stirng s标题,mode模式)
saveDia = new FileDialog(f,"我要保存",FileDialog.SAVE);//文件对话框,有打开,保存 2种模式 (frame f,stirng s,mode)
f.add(ta);//添加文本区域
myEvent();//直接调用myEvent() 事件处理方法
f.setVisible(true);//设置窗口可见
}
private void myEvent()//对窗口的事件处理方法
{
openItem.addActionListener(newActionListener()//菜单项目“openItem 打开” 设置功能
{
public void actionPerfomed(ActionEvent e)//设置动作播放
{
openDia.setVisible(true);//显示 文件对话框openDia
String dirPath = openDia.getDirectory();//String getDirectory() 获取此文件对话框的目录。
String fileName = openDia.getFile();// String getFile() 获取此文件对话框的选定文件。
//System.out.println(dirPath+"..."+fileName);//控制台打印
if (dirPath==null||fileName==null)
return;//防止异常出现
ta.settext("");//清空文本区域
File file = new File(dirPath,fileName);//封装成File对象 把目录名和文件名
try
{//这里写读取文本文件的过程
BufferedReader bufr = new BufferReader(new FileReader(file));//缓冲区字符读取流
String line = null;
while ((line = bufr.readLine())!=null)//循环读取行
{
ta.append(line+"\r\n");//末尾添加到ta文本区域
}
bufr.close();//关闭流
}
catch (IOException ie)
{
throw new RuntimeException("读取失败");
}
}
});
closeItem.addActionListener(newActionListener()//菜单项目 设置退出功能
{
public void actionPerfomed(ActionEvent e)
System.exit(0);
});
f.addWindowListener(new WindowAdapter()//Frame的关闭按钮的退出功能
{
public void windowClosing(WindowEvent e)//窗口关闭按钮 设置退出功能
{
System.exit(0);
}
});
}
public static void main(String[] args)
{
new MyMenuDemo();
}
}
GUI-打开文件
最新推荐文章于 2024-03-24 11:10:05 发布