zoukankan      html  css  js  c++  java
  • 课程设计(部分代码)之java版(记事本)

      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 }
    View Code


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

  • 相关阅读:
    学习Mybatis中的一对多表关联
    学习Mybatis中的一对一表关联
    学习Mybatis中的动态sql
    学习Mybatis中的约定大于配置、数据库配置优化、定义别名、类型处理器、resultMap和parameterType
    第八周进度
    构建之法阅读笔记07
    正则表达式
    梦断代码之阅读笔记02
    顶会热词统计
    本周进度
  • 原文地址:https://www.cnblogs.com/gongxijun/p/3715209.html
Copyright © 2011-2022 走看看