首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >课程设计(部分代码)之java版(记事本)

课程设计(部分代码)之java版(记事本)

作者头像
Gxjun
发布2018-03-22 13:48:37
1K0
发布2018-03-22 13:48:37
举报
文章被收录于专栏:mlml
  1 /*
  2  *java课程设计之记事本(coder @Gxjun)
  3  * 编写一个记事本程序
  4  * 要求:
  5  * 用图形用户界面实现。
  6  * 能实现编辑、保存、另存为、查找替换等功能。
  7  * 提示:使用文件输入输出流。
  8  */ 
  9   package project;
 10   
 11   import javax.swing.*;
 12 
 13   import java.awt.event.KeyEvent;
 14   import java.awt.event.InputEvent;
 15 import static javax.swing.JFrame.*;
 16 
 17   //设置一个窗口类
 18     class WindowMenu extends JFrame
 19     {
 20         JMenuBar Mymenubar ;
 21         JMenu   menu[] = new JMenu [5]; //有多个菜单,用数组表示
 22         JMenuItem item[][] =new JMenuItem [5][];
 23      //构造函数
 24       public WindowMenu() {}
 25       public WindowMenu(String title , int x ,int y, int a, int b )
 26       {
 27        init( title );     //初始化窗口
 28        setSize(a,b);      //设置窗口大小
 29        setLocation(x,y);  //设置窗口位置
 30        setVisible(true);  //窗口是否可见
 31        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //注销窗口  
 32       }
 33       
 34       void init(String str)    //设置一个初始化事件
 35       {
 36        
 37         int i;
 38         setTitle(str);
 39         Mymenubar = new JMenuBar();  //创建一个菜单条
 40         menu[0] = new JMenu("文件(F)");
 41         menu[1] = new JMenu("编辑(E)");
 42         menu[2] = new JMenu("格式(O)");
 43         menu[3] = new JMenu("查看(V)");
 44         menu[4] = new JMenu("帮助(H)");
 45         for(i=0; i<5;i++)
 46             Mymenubar.add(menu[i]);
 47         item[0] = new  JMenuItem [7];  //项目条 数目
 48         item[0][0] = new JMenuItem("新建(N)");
 49         item[0][0].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));    //设置快捷键
 50         item[0][1] = new JMenuItem("打开(O)");
 51         item[0][1].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
 52         item[0][2] = new JMenuItem("保存(S)");
 53         item[0][2].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
 54         item[0][3] = new JMenuItem("另存为(A)");
 55         item[0][3].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
 56         item[0][4] = new JMenuItem("页面设置(U)");
 57         item[0][4].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));
 58         item[0][5] = new JMenuItem("打印(P)");
 59         item[0][5].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
 60         item[0][6] = new JMenuItem("退出(X)");
 61         item[0][6].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
 62         for(i=0;i<7;i++)
 63           menu[0].add(item[0][i]);
 64        //设置第二个版面的子菜单   
 65         item[1] = new JMenuItem [11];    //单独对二维数组分配空间
 66         item[1][0] = new JMenuItem("撤销(U)");  //创建窗口条目
 67         item[1][0].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK));   //将键盘关键字绑定到窗口上
 68         item[1][1]=new JMenuItem("剪切(T)");
 69         item[1][1].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
 70         item[1][2] = new JMenuItem("复制(C)");
 71         item[1][2].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C ,InputEvent.CTRL_MASK));
 72         item[1][3] =new JMenuItem("粘贴(P)");
 73         item[1][3].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P ,InputEvent.CTRL_MASK));
 74         item[1][4] = new JMenuItem("删除(L)");
 75         item[1][4].setAccelerator(KeyStroke.getKeyStroke("Del"));  // int 型强制转换成为 char 型
 76         item[1][5] = new JMenuItem("查找(F)");
 77         item[1][5].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F ,InputEvent.CTRL_MASK));
 78         item[1][6] = new JMenuItem("查找下一个(N)");
 79         item[1][6].setAccelerator(KeyStroke.getKeyStroke("F3"));
 80         item[1][7] = new JMenuItem("替换(R)");
 81         item[1][7].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent.CTRL_MASK));
 82         item[1][8] = new JMenuItem("转到(G)");
 83         item[1][8].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G , InputEvent.CTRL_MASK));

 84         item[1][9] = new  JMenuItem("全选(A)");
 85         item[1][9].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A , InputEvent.CTRL_MASK));
 86         item[1][10] = new JMenuItem("时间/日期(D)");
 87         item[1][10].setAccelerator(KeyStroke.getKeyStroke("F5"));
 88         for(i=0;i<11;i++)
 89             menu[1].add(item[1][i]);
 90         
 91         setJMenuBar(Mymenubar);
 92       }
 93     }
 94   public class note_text {
 95       public static void main(String args[])
 96      {
 97         WindowMenu  mywind;
 98         mywind= new WindowMenu("记事本",200,300,700,600);
 99      }
100 }

实现一些基本窗口模式,仅实现前两个......后面陆续更新!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-05-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档