代码:涉及记事本的一些界面......!!
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 }