首页 > 代码库 > 课程设计(部分代码)之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 }
实现一些基本窗口模式,仅实现前两个......后面陆续更新!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。