package com.chuangkohua;

 import java.awt.FileDialog;
import java.awt.FlowLayout;
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.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException; public class Menus { public static void main(String[] args) {
// TODO Auto-generated method stub
Demo3 demo3 = new Demo3();
demo3.init(); } } class Demo3{
private Frame frame;
private TextArea area;
private MenuBar bar;
private Menu menu,submenu,submenu2;
private MenuItem item,saveitem,item2,item3,item4,item41,item5,subitem;
private FileDialog dialog,dialog2; public void init(){
frame = new Frame("我的电脑");
frame.setBounds(, , , );
frame.setLayout(new FlowLayout());
area = new TextArea();
bar = new MenuBar();
menu = new Menu("文件");
submenu = new Menu("子菜单");
subitem = new MenuItem("子条目");
item = new MenuItem("关闭");
item2 = new MenuItem("打开");
saveitem = new MenuItem("保存");
//利用关闭选项关闭对话框
item.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.exit();
}
}); Menu menu1 = new Menu("编辑");
item3 = new MenuItem("复制");
submenu2 = new Menu("粘贴");
item4 = new MenuItem("仅粘贴文字");
item41 = new MenuItem("粘贴格式文字"); Menu menu2 = new Menu("查看");
item5 = new MenuItem("放大"); dialog = new FileDialog(frame, "保存", FileDialog.SAVE);
saveitem.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
dialog.setVisible(true);
}
}); dialog2 = new FileDialog(frame, "打开", FileDialog.LOAD);
item2.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
dialog2.setVisible(true);
String dirpath = dialog2.getDirectory();
String filename = dialog2.getFile();
if(dirpath==null||filename==null){
return;
}else{
area.setText("");;
File file = new File(dirpath, filename);
try {
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
String str =null;
while((str = bufferedReader.readLine())!=null){
area.append(str+"\r\n");
}
bufferedReader.close();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e2){
e2.printStackTrace();
} }
}
});
//文件菜单
submenu.add(subitem);
menu.add(submenu);
menu.add(item2);
menu.add(item);
menu.add(saveitem);
//编辑菜单
submenu2.add(item4);
submenu2.add(item41);
menu1.add(item3);
menu1.add(submenu2);
//查看菜单
menu2.add(item5); bar.add(menu);
bar.add(menu1);
bar.add(menu2); frame.setMenuBar(bar);
frame.add(area);
frame.setVisible(true); frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
System.exit();
}
});
}
}

window 窗口编辑的更多相关文章

  1. (四)EasyUI 使用——form表单2 & window窗口

    form表单组件主要有以下内容(如下图)      6. progressbar进度条  每隔1秒让进度条按随机数填充,直至充满进度条刻度(只能执行一次) 进度条: <div id=" ...

  2. EasyUI笔记(三)Window窗口

    本系列只列出一些常用的属性.事件或方法,具体完整知识请查看API文档 Window(窗口) 窗口控件是一个浮动和可拖拽的面板可以用作应用程序窗口.默认情况下,窗口可以移动,调整大小和关闭.它的内容也可 ...

  3. [转载]ExtJs4 笔记(9) Ext.Panel 面板控件、 Ext.window.Window 窗口控件、 Ext.container.Viewport 布局控件

    作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...

  4. JavaScript:window窗口对象

    在JavaScript中,window表示的就是一个窗口对象.所以在整个处理过程之中,所有的操作都是以弹框为主 的.范例1:使用警告框 <script type="text/javas ...

  5. (转载)JavaScript中的Window窗口对象

    (转载)http://www.ijavascript.cn/jiaocheng/javascript-window-65.html 例子: <html> <head> < ...

  6. vim 多窗口编辑

    本文出自   http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...

  7. ExtJs4 笔记(9) Ext.Panel 面板控件、 Ext.window.Window 窗口控件、 Ext.container.Viewport 布局控件

    本篇讲解三个容器类控件. 一.面板控件 Ext.Panel 一个面板控件包括几个部分,有标题栏.工具栏.正文.按钮区.标题栏位于最上面,工具栏可以在四个位置放置,围绕中间部分正文,按钮区位于最小方.下 ...

  8. python 利用tkinter模块设计出window窗口(搞笑版)

    代码如下 from tkinter import * import tkinter from tkinter import messagebox #定义了一个函数,当关闭window窗口时将会弹出一个 ...

  9. easyUi弹出window窗口传值与调用父页面的方法,子页面给父页面赋值

    <!-- 父页面 --> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "ht ...

随机推荐

  1. MySQL基础----py全栈

    目录 MySQL基础----py全栈 一.引言 1.什么是数据? 2.什么是数据库(DB)? 3.什么是数据库管理系统(DBMS)? 4.什么是数据库系统? 5.数据库管理系统由来 6.什么是数据模型 ...

  2. 前端经典面试题:如何理解 HTML 语义化?

    本文最初于 2018-09-21 发布于 知乎 ,后在 <重学前端> 专栏的学习中,重新复习整理,发布于 Github 上,并计划写一系列前端学习相关的文章.欢迎 star . HTML ...

  3. lua虚拟机概述

    何为虚拟机 用于模拟计算机运行的程序.是个中间层,它处于脚本语言和硬件之间的一个程序.每一门脚本语言都会有自己定义的opcode("操作码"),可以理解为这门程序自己定义的&quo ...

  4. 20155339 2016-2017-2 《Java程序设计》第7周学习总结

    20155339 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 第十三章 时间与日期 认识时间与日期 时间的度量 格林威治标准时间(GMT),现已不作为标准 ...

  5. 一维码UPC A简介及其解码实现(zxing-cpp)

    UPC(Universal Product Code)码是最早大规模应用的条码,其特性是一种长度固定.连续性的条  码,目前主要在美国和加拿大使用,由于其应用范围广泛,故又被称万用条码. UPC码仅可 ...

  6. 4538: [Hnoi2016]网络

    4538: [Hnoi2016]网络 链接 分析: 整体二分. 对于一次操作,可以二分一个答案mid,判断权值大于mid的路径是否全部经过这个点.如果是 ,那么这次询问的答案在[l,mid-1]之间, ...

  7. OpenStack入门篇(二十)之实现阿里云ESC多FLAT网络

    1.给两台虚拟机增加网卡,使用仅主机模式,网段为:192.168.57.0/24 2.修改两台主机网卡配置 [root@linux-node1 ~]# cp /etc/sysconfig/networ ...

  8. 【轮子狂魔】抛弃IIS,打造个性的Web Server - WebAPI/Lua/MVC(附带源码)

    引言 此篇是<[轮子狂魔]抛弃IIS,向天借个HttpListener - 基础篇(附带源码)>的续篇,也可以说是提高篇,如果你对HttpListener不甚了解的话,建议先看下基础篇. ...

  9. EasyUI系列学习笔记(一)——注册

    前面介绍过EasyUI是一个前段框架,开发之前需要导入底层包:我这里采用的是EasyUI 1.4版本~ 今天主要是搭建一个EasyUI的环境,同时做一个登陆页面... 环境搭建 导入需要的文件到项目中 ...

  10. 解决java读取大文件内存溢出问题

    1. 传统方式:在内存中读取文件内容 读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new ...