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. muduo 网络库学习之路(一)

    前提介绍: 本人是一名大三学生,主要使用C++开发,兴趣是高性能的服务器方面. 网络开发离不开网络库,所以今天开始学一个新的网络库,陈老师的muduo库 我参考的书籍就是陈老师自己关于muduo而编著 ...

  2. 数据库之redis

    启动redis服务器:sudo redis-server /etc/redis/redis.conf 通过客户端进入,执行命令:redis-cli 测试服务是否可用:ping 查看redis当前状态: ...

  3. Truck History(prime)

    Truck History Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 31871   Accepted: 12427 D ...

  4. 20155239吕宇轩 Linux下IPC机制

    20155239吕宇轩 Linux下IPC机制 - 共享内存 原理:把所有需要使用的共享数据都存放在共享内存 区域中,任何想要访问这些共享数据的进程都必须在自己的进程地址空间中新增加一块内存区域,用来 ...

  5. DB异常状态:Recovery Pending,Suspect,估计Recovery的剩余时间

    一,RECOVERY PENDING状态 今天修改了SQL Server的Service Account的密码,然后重启SQL Server的Service,发现有db处于Recovery Pendi ...

  6. 【ORACLE】ORACLE RAC设置控制文件多路

    [oracle@rac01 ~]$ srvctl stop database -d proc -o immediate [oracle@rac01 ~]$ sqlplus / as sysdba SQ ...

  7. Eclipse启动Tomcat错误:Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are already

    Eclipse启动Tomcat错误: Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are alread ...

  8. ASP.NET MVC - PageData的应用

    一.要实现一个功能,在不同的页面放置一段如下的内容,用于采集用户行为信息: <input type='hidden' id='page_id' value='xxxx' /> <sc ...

  9. Linux之linux入门

    学习linux之前先了解一下操作系统: 操作系统的定义:         操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内 ...

  10. JMeter各个基础组件简介

    刚从LoadRunner转到JMeter,对JMeter的各种概念比较懵.在这里记录下.欢迎大家关注我的个人微信号:测试杂货铺. JMeter的各个功能都是它的组件来完成或实现的,下面来对JMeter ...