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. 学习笔记—MapReduce

    MapReduce是什么 MapReduce是一种分布式计算编程框架,是Hadoop主要组成部分之一,可以让用户专注于编写核心逻辑代码,最后以高可靠.高容错的方式在大型集群上并行处理大量数据. Map ...

  2. hive函数篇一

    hive 查看函数: show  functions; desc functions 函数名 1. 时间函数 1.1 时间戳函数--日期转时间戳:从1970-01-01 00:00:00 UTC到指定 ...

  3. centos下添加启动项

    chkconfig --add 服务名称 chkconfig --level 345 服务名称 on

  4. 时间序列分析工具箱——tidyquant

    目录 时间序列分析工具箱--tidyquant tidyquant 的用途 加载包 tq_get:获得数据 从 Yahoo! Finance 获得股票数据 从 FRED 获得经济数据 使用 tq_tr ...

  5. BZOJ2428_均分数据_KEY

    题目传送门 这道题可以用C++的random_shuffle屮过去. random数列插入顺序,每次都插入数值和最小的那一组. #include <cmath> #include < ...

  6. PPAS通过DBLink,访问Oracle数据库

    磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL基础知识与基本操作索引页     回到顶级页面:PostgreSQL索引页 作者 高健@博客园  luckyjackga ...

  7. 2-4 list练习题

    参考答案 >>> names = [] >>> names.append('old_driver') >>> names.append('rain ...

  8. 2555: SubString

    2555: SubString 链接 题意: 动态在末尾加入一个字符串,询问一个字符串出现了多少次. 分析: 如果没有动态加入,那么建出SAM后,求出parent树上,每个点|Right|,然后走一遍 ...

  9. 用Angule Cli创建Angular项目

    Angular4.0来了,更小,更快,改动少 接下来为Angular4.0准备环境和学会使用Angular cli项目 1.环境准备: 1)在开始工作之前我们必须设置好开发环境 如果你的机器上还没有安 ...

  10. win10家庭版没有组策略怎么办?(win10管理员已阻止你运行此应用”解决方法)

    把下面代码复制到TXT文本中,把文本再改成   .cmd  格式保存后以管理员身份运行 @echo off pushd "%~dp0" dir /b C:\Windows\serv ...