java(课程设计之记事本界面部分代码公布)

代码:涉及记事本的一些界面......!!

  1 /*
  2  *java课程设计之记事本(coder @Gxjun)
  3  * 编写一个记事本程序
  4  * 要求:
  5  * 用图形用户界面实现。
  6  * 能实现编辑、保存、另存为、查找替换等功能。
  7  * 提示:使用文件输入输出流。
  8  */ 
  9   package project;
 10   
 11   import javax.swing.*;
 12   import java.awt.*;
 13   import java.awt.event.*;     //引用类设置触发事件
 14   import java.awt.event.KeyEvent;
 15   import java.awt.event.InputEvent;
 16   import static javax.swing.JFrame.*;
 17 
 18   //设置一个窗口类
 19     class WindowMenu extends JFrame
 20     {
 21         JMenuBar Mymenubar ;
 22         JMenu   menu[] = new JMenu [5];         //有多个菜单,用数组表示
 23         JMenuItem item[][] =new JMenuItem [5][];
 24         ActionListener  mylistener;             //声明一个触发响应事件
 25      //构造函数
 26       public WindowMenu() {}
 27       public WindowMenu(String title , int x ,int y, int a, int b )
 28       {
 29        init( title );     //初始化窗口
 30        setText();         //设置一个文本区域
 31        setSize(a,b);      //设置窗口大小
 32        setLocation(x,y);  //设置窗口位置
 33        setVisible(true);  //窗口是否可见
 34        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //注销窗口  
 35       }
 36       
 37       void init(String str)    //设置一个初始化事件
 38       {
 39        
 40         int i;
 41         setTitle(str);
 42         Mymenubar = new JMenuBar();  //创建一个菜单条
 43         menu[0] = new JMenu("文件(F)");
 44         menu[1] = new JMenu("编辑(E)");
 45         menu[2] = new JMenu("格式(O)");
 46         menu[3] = new JMenu("查看(V)");
 47         menu[4] = new JMenu("帮助(H)");
 48         for(i=0; i<5;i++)
 49             Mymenubar.add(menu[i]);
 50         item[0] = new  JMenuItem [7];  //项目条 数目
 51         item[0][0] = new JMenuItem("新建(N)");
 52         item[0][0].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));    //设置快捷键
 53         item[0][1] = new JMenuItem("打开(O)");
 54         item[0][1].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
 55         item[0][2] = new JMenuItem("保存(S)");
 56         item[0][2].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
 57         item[0][3] = new JMenuItem("另存为(A)");
 58         item[0][3].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
 59         item[0][4] = new JMenuItem("页面设置(U)");
 60         item[0][4].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));
 61         item[0][5] = new JMenuItem("打印(P)");
 62         item[0][5].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
 63         item[0][6] = new JMenuItem("退出(X)");
 64         item[0][6].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
 65         for(i=0;i<7;i++)
 66           menu[0].add(item[0][i]);
 67        //设置第二个版面的子菜单   
 68         item[1] = new JMenuItem [11];    //单独对二维数组分配空间
 69         item[1][0] = new JMenuItem("撤销(U)");  //创建窗口条目
 70         item[1][0].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK));   //将键盘关键字绑定到窗口上
 71         item[1][1]=new JMenuItem("剪切(T)");
 72         item[1][1].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
 73         item[1][2] = new JMenuItem("复制(C)");
 74         item[1][2].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C ,InputEvent.CTRL_MASK));
 75         item[1][3] =new JMenuItem("粘贴(P)");
 76         item[1][3].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P ,InputEvent.CTRL_MASK));
 77         item[1][4] = new JMenuItem("删除(L)");
 78         item[1][4].setAccelerator(KeyStroke.getKeyStroke("Del"));  // int 型强制转换成为 char 型
 79         item[1][5] = new JMenuItem("查找(F)");
 80         item[1][5].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F ,InputEvent.CTRL_MASK));
 81         item[1][6] = new JMenuItem("查找下一个(N)");
 82         item[1][6].setAccelerator(KeyStroke.getKeyStroke("F3"));
 83         item[1][7] = new JMenuItem("替换(R)");
 84         item[1][7].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent.CTRL_MASK));
 85         item[1][8] = new JMenuItem("转到(G)");
 86         item[1][8].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G , InputEvent.CTRL_MASK));
 87         item[1][9] = new  JMenuItem("全选(A)");
 88         item[1][9].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A , InputEvent.CTRL_MASK));
 89         item[1][10] = new JMenuItem("时间/日期(D)");
 90         item[1][10].setAccelerator(KeyStroke.getKeyStroke("F5"));
 91         for(i=0;i<11;i++)
 92             menu[1].add(item[1][i]);
 93         item[2] = new  JMenuItem [2];
 94         item[2][0]= new JMenuItem("自动换行(W)");
 95         item[2][0].setAccelerator(KeyStroke.getKeyStroke("W"));
 96         item[2][1] = new JMenuItem("字体(F)");
 97         item[2][1].setAccelerator(KeyStroke.getKeyStroke("F"));
 98         for(i=0;i<2;i++)
 99             menu[2].add(item[2][i]);
100         item[3] = new JMenuItem [1];
101         item[3][0] = new JMenuItem("状态栏(s)");
102         menu[3].add(item[3][0]);
103         item[4] = new JMenuItem [2];
104         item[4][0] = new JMenuItem("查看帮助(H)");
105         item[4][0].setAccelerator(KeyStroke.getKeyStroke("H"));
106         item[4][1] = new JMenuItem("关于记事本(A)");
107         item[4][1].setAccelerator(KeyStroke.getKeyStroke("A"));
108         for(i=0;i<2;i++)
109             menu[4].add(item[4][i]);
110         setJMenuBar(Mymenubar);
111       }
112    //放置一个文本框方法
113       void setText()
114       {
115           JTextArea myText;
116           myText = new  JTextArea(100,200);  //设置一个文本大大小
117           add(new JScrollPane(myText));      //将文本加载到窗口上去JScrollPane
118         //对文本的一个触发事件的封装
119          mylistener = new  readerListen();  //调用触发一个自定义触发事件类,即即将要执行的动作
120          //myText.addActionListener(mylistener);
121       }
122      //放置响应触发事件
123        
124      
125     }
126   public class note_text {
127       public static void main(String args[])
128      {
129         WindowMenu  mywind;
130         mywind= new WindowMenu("记事本",200,300,700,600);
131      }   
132 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

Go语言实现socket实例

用golang不用他的net包还有什么意义,这里提供一个测试代码: server.go 服务端: package main import ( "fmt"...

32850
来自专栏微信小开发

五分钟掌握微信小程序轮播图

从公共库v1.4.0开始,change事件返回detail中包含一个source字段,表示导致变更的原因,可能值如下: autoplay 自动播放导致 swip...

25060
来自专栏xx_Cc的学习总结专栏

六天完成一个简单iOS App - 第二天

30350
来自专栏Windows Community

Windows 8.1 应用再出发 (WinJS) - 几种新增控件(2)

上篇我们介绍了Windows 8.1 和 WinJS 中新增控件中的 AppBarCommand、BackButton、Hub、ItemContainer,本篇...

33660
来自专栏前端知识分享

第58天:简单焦点轮播图

10530
来自专栏web编程技术分享

js弹窗小例子

38180
来自专栏非典型技术宅

iOS之分段控制器UISegmentedControl1. 分段控制器(UISegmentedControl)2. 事件监听3. 手势事件大全

14020
来自专栏非典型技术宅

断言和分段控制器1. 断言(Assertions)2. 分段控制器(UISegmentedControl)

9930
来自专栏Google Dart

AngularDart Material Design 弹出框 顶

该组件将自己发布为DropdownHandle,因此其子级可以通过注入来控制其可见性:

21330
来自专栏一“技”之长

iOS动画开发之二——UIView动画执行的另一种方式

        上一篇博客中介绍了UIView的一些常用动画,通过block块,我们可以很方便简洁的创建出动画效果:http://my.oschina.net/...

9630

扫码关注云+社区

领取腾讯云代金券