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. oracle快速学习

  2. iOS开发过程中易犯的小错误

    addGestureRecognizer(_:) 一个手势对象只绑定一个view // 只有最后一个imgv有点击事件 let tap = UITapGestureRecognizer(target: ...

  3. AngularJS中的按需加载ocLazyLoad插件应用;

    一.前言 ocLoayLoad是AngularJS的模块按需加载器.一般在小型项目里,首次加载页面就下载好所有的资源没有什么大问题.但是当我们的网站渐渐庞大起来,这样子的加载策略让网速初始化速度变得越 ...

  4. 阿里云服务器+宝塔环境+LNMP+tp5.1安装和调试

    1.首先肯定得有个阿里云服务器,楼主是用来自己测试用得,所以就买了个1年得突发性实例,虽然网上都说别买这种,不过个人测试还是没有多少要求得 2.买了服务器之前可以顺带买个域名,再顺带去备案一下,阿里云 ...

  5. HBase--大数据系统的数据库方案

    本文主要围绕以下三方面来讨论HBase:是什么.为什么.怎样做. 1. 什么是HBase HBase是一个开源的.分布式的.非关系型数据库,其设计思想来源于Google的Big Table.通过集群管 ...

  6. 时间序列分析工具箱——tibbletime

    目录 时间序列分析工具箱--tibbletime tibbletime 的用途 加载包 数据 教程:tibbletime 初始化一个 tbl_time 对象 时间序列函数 翻译自<Demo We ...

  7. d3 js emberjs handlerbarjs

    http://handlebarsjs.com/ http://emberjs.com/ http://jsbin.com/d3ember-barchart/13/edit?html,output

  8. JavaWeb基础—HttpServletRequest

    HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中, 通过这个对象提供的方法,可以获得客户端请求的所有信息. ...

  9. temp-2017-4-20

    ------- p{font-size:20px;color:red;} uuuuuuuuuuu package com.wgscd.gwang.myapplication; /** Created ...

  10. sqlplus 中 各列对齐设定

    设置列标题的对齐方式 JUSTFIFY  {L[EFT]|C[ENTER]|R[IGHT]} SQL> col ename justify center SQL> /