您的位置:首页 > 产品设计 > UI/UE

【java编程】GUI之综合练习(二)

2015-03-19 16:59 435 查看
1.菜单的包含关系



下面是一个简单的示例:

需求:实现一个简单的记事本,功能包括:打开,保存,退出

import java.awt.*;
import java.awt.event.*;
import java.io.*;
class MenuDemo
{
public static void main(String[] args)
{
new myMenu();
}
}
class myMenu
{
private Frame f;
private MenuBar bar;
private Menu fileMenu;
private MenuItem openMenuItem;
private MenuItem saveMenuItem;
private MenuItem exitMenuItem;
private TextArea ta;
private File file;
private FileDialog openDia;
private FileDialog saveDia;
myMenu()
{
init();
}
public void init()
{
f=new Frame("My Frame");
f.setBounds(500,400,600,500);
bar=new MenuBar();
fileMenu=new Menu("菜单");
openMenuItem=new MenuItem("打开");
saveMenuItem=new MenuItem("保存");
exitMenuItem=new MenuItem("退出");
fileMenu.add(openMenuItem);
fileMenu.add(saveMenuItem);
fileMenu.add(exitMenuItem);
ta=new TextArea();
bar.add(fileMenu);
f.setMenuBar(bar);
f.add(ta);
myEvent();
f.setVisible(true);
}
public void myEvent()
{
//窗体关闭事件
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
//退出子条目事件
exitMenuItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
//为openDia子条目添加打开事件
openMenuItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
openDia=new FileDialog(f,"打开",FileDialog.LOAD);
openDia.setVisible(true);
String DirPath=openDia.getDirectory();
String filename=openDia.getFile();
if(DirPath==null || filename==null)
return;
file=new File(DirPath,filename);
ta.setText("");
try
{
BufferedReader bufr=new BufferedReader(new FileReader(file));
String line=null;
while((line=bufr.readLine())!=null)
{
ta.append(line+"\r\n");
}
}
catch (IOException ex)
{
throw new RuntimeException("关闭流失败");
}
}
});
//为saveDia子条目添加事件
saveMenuItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(file==null)
{
saveDia=new FileDialog(f,"保存",FileDialog.SAVE);
saveDia.setVisible(true);
String DirPath=saveDia.getDirectory();
String filename=saveDia.getFile();
if(DirPath==null || filename==null)
return;
File file=new File(DirPath,filename);
}
try
{
BufferedWriter bufw=new BufferedWriter(new FileWriter(file));
String text=ta.getText();
bufw.write(text);
bufw.close();
}
catch (IOException ex)
{
throw new RuntimeException("关闭流失败");
}
}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: