【java编程】GUI之综合练习(二)
来源:互联网 发布:智能交通算法工程师 编辑:程序博客网 时间:2024/05/23 00:04
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("关闭流失败");}}});}}
0 0
- 【java编程】GUI之综合练习(二)
- 【java编程】GUI之综合练习(一)
- Java学习心得之GUI编程(二)
- JAVA编程综合练习(一)
- 35、Java入门—网络编程之综合练习
- Java之GUI编程
- Java之GUI编程(二)——布局管理器
- Java编程 练习二
- 牛客网---java工程师综合练习卷(二星级)---练习改错
- java培训二之GUI
- PWN综合练习二
- java基础之GUI编程
- java基础之GUI编程
- Java总结之GUI编程
- java编程GUI之TextField1
- JAVA - 学习之GUI练习(一)
- C语言编程入门——综合练习(二)
- python编程练习之二
- Git远程仓库
- 二叉树遍历
- HDU - 4731 Minimum palindrome 找规律
- 华为练习题 阿姆斯特朗数
- HTML5_表格元素
- 【java编程】GUI之综合练习(二)
- 验证码生成工具类
- Android pm命令使用方法
- IOS atomic与nonatomic,assign,copy与retain的定义和区别
- 寻找和为定值的多个数
- Spring事务管理—aop:pointcut expression解析
- [从零开始学设计模式-java]工厂方法模式(Factory Method)
- 归并排序
- 背景图延迟加载(lazyload)技术