给出一个实例即可:

package mymenu;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

public class MyMenuTest

{

private Frame f;

private MenuBar bar;

private TextArea ta;

private Menu fileMenu;

private MenuItem openItem,saveItem,closeItem;

private FileDialog openDia,saveDia;

private File file;

MyMenuTest()

{

init();

}

public void init()

{

f = new Frame("my window");

f.setBounds(300,100,650,600);

bar = new MenuBar();

ta = new TextArea();

fileMenu = new Menu("文件");

openItem = new MenuItem("打开");

saveItem = new MenuItem("保存");

closeItem = new MenuItem("退出");

fileMenu.add(openItem);

fileMenu.add(saveItem);

fileMenu.add(closeItem);

bar.add(fileMenu);

f.setMenuBar(bar);

openDia = new FileDialog(f,"我要打开",FileDialog.LOAD);

saveDia = new FileDialog(f,"我要保存",FileDialog.SAVE);

f.add(ta);

myEvent();

f.setVisible(true);

}

private void myEvent()

{

saveItem.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

if(file==null)

{

saveDia.setVisible(true);

String dirPath = saveDia.getDirectory();

String fileName = saveDia.getFile();

if(dirPath==null || fileName==null)

return ;

file = new File(dirPath,fileName);

}

try

{

BufferedWriter bufw = new BufferedWriter(new FileWriter(file));

String text = ta.getText();

bufw.write(text);

//bufw.flush();

bufw.close();

}

catch (IOException ex)

{

throw new RuntimeException();

}

}

});

openItem.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

openDia.setVisible(true);

String dirPath = openDia.getDirectory();

String fileName = openDia.getFile();

// System.out.println(dirPath+"..."+fileName);

if(dirPath==null || fileName==null)

return ;

ta.setText("");

file = new File(dirPath,fileName);

try

{

BufferedReader bufr = new BufferedReader(new FileReader(file));

String line = null;

while((line=bufr.readLine())!=null)

{

ta.append(line+"\r\n");

}

bufr.close();

}

catch (IOException ex)

{

throw new RuntimeException("读取失败");

}

}

});

closeItem.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

System.exit(0);

}

});

f.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

}

public static void main(String[] args)

{

new MyMenuTest();

}

}

java gul_[java实战篇]--java的GUI(1)相关推荐

  1. java o2o_Java项目实战篇之校园O2O商铺平台-开发准备一

    校园O2O商铺平台 一. 项目介绍 校园o2o平台是一个新兴的电子商务平台,主要是为了广大学生群体建立一个实用性,广泛性,快捷性的消费平台.就大学生的消费的状况,市场份额相当巨大,消费潜力也是非常可观 ...

  2. Java新手小白入门篇 Java基础(一)

    Java新手小白入门篇 Java基础 Java新手小白入门篇 Java基础(知识点体系汇总) Java新手小白入门篇 Java基础(一) Java新手小白入门篇 Java基础(二) Java新手小白入 ...

  3. 【Java网络爬虫实战篇】使用Jsoup爬取和解析王者荣耀全英雄全皮肤(思路/代码/问题分析)

    由于博主前两天刚入门Java爬虫,并且自学了Jsoup的爬取和解析方式以及输入输出流的相关知识,因此打算检验一下目前的学习成果.在一番深思熟虑(x)后,毅然打算爬取王者荣耀官网全英雄全皮肤的壁纸. 爬 ...

  4. 《Java Web开发实战》Java工程师推荐的进阶之路

    <Java Web开发实战>一书更加趋于实战性.此教材由浅入深.循序渐进,在语法阐述时尽量避免术语和公式,使初学者能够快速入门,全面掌握实战技能.它既可以作为高等院校本.专科计算机相关专业 ...

  5. java 公共组件_【JAVA语言程序设计基础篇】--Swing GUI组件的公共特性

    package chapter12; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Font; import j ...

  6. java学习文档_资深程序员带你深入了解JAVA知识点,实战篇,PDF文档

    JAVA 集合JAVA 集合面对浩瀚的网络学习资源,您是否为很难找到适合自己的学习资源而感到苦恼过?那么,您来对地方了.在这里我们帮助大家整理了一份适于轻松学习 Java 文章的清单.JVM 文字太多 ...

  7. Java 8 之实战篇

    鉴于CSDN对版权保护的不作为以及落后的运营手段,本博客将于近期关闭,并清空全部文章. 原有文章将会经过再次的校对.整理,转移至本人在简书的博客空间.

  8. Java并发编程实战_[Java并发编程实战] 简介

    并发简史 在早期不包含操作系统的计算机中,程序都是单一的串行程序,从头至尾只能执行一个程序,并且这个程序访问这个计算机的所有资源.然而,随着技术的发展,操作系统出现了.它使得计算机程序有了进程,线程的 ...

  9. Java开发经典实战!java数据结构和算法面试题及答案

    美团一面(50分钟左右) 进程和线程 死锁的必要条件 网络,七层协议 TCP和UDP的区别 hashmap 详细讲一下 hashmap底层是如何解决hash冲突的 hashmap和linkedhash ...

最新文章

  1. 经验 | 深度学习优化背后的数学基础
  2. C++__堆,栈与内存管理
  3. [java]处理utf-8 bom字符串的bom头
  4. Git忽略规则及.gitignore规则不生效的解决办法
  5. 阿里云分布式缓存OCS与DB之间的数据一致性
  6. 一个在自己的线程中运行测试的JUnit规则
  7. python函数变量的作用域_学不会的Python函数——变量作用域
  8. 查看SQL Server当前会话的隔离级别
  9. 详解浏览器跨域访问的几种办法
  10. Git学习03-----最基本的几个命令
  11. linux 6.5 :qw,rhel 6.5替换centOS6的网易yum源
  12. Microsoft Office Word、Excel 和 PowerPoint 文件格式兼容包
  13. TCL语言中的执行顺序
  14. 引领智慧教育,联想云桌面如何打造教育“一朵云”?
  15. Matlab 仿真——直流电机速度控制(1)直流电机建模
  16. SF58-ASEMI快恢复二极管SF58的发展意义
  17. 【贪心】 大天使之剑
  18. 一文读懂量子计算的原理、分类与发展
  19. TI文档中的名词解释(持续更新中)
  20. 高项_第十章项目沟通管理

热门文章

  1. 流程图和火车程序Jackson图
  2. sql 三个表联合查询(三表左联查询)
  3. 哪有什么岁月静好,只是有人在替你负重前行。致敬消防员、医护工作者、平凡英雄,感恩有你们。
  4. 对抗网易相册不能贴图(解决)
  5. Unity3D开发之3D按钮的声音播放
  6. 上位机(地面站)之地图航线创建的摸索总结
  7. 位运算符之---左移右移运算符(简单易懂)
  8. zabbix配置步骤、操作及使用个人邮箱、企业微信、钉钉报警的配置
  9. 支小蜜智慧食堂管理系统,聚合支付功能助力食堂支付
  10. 什么是jQuery[0002]