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

时间:2024-01-17 13:04:14

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

 /*
*java课程设计之记事本(coder @Gxjun)
* 编写一个记事本程序
* 要求:
* 用图形用户界面实现。
* 能实现编辑、保存、另存为、查找替换等功能。
* 提示:使用文件输入输出流。
*/
package project; import javax.swing.*;
import java.awt.*;
import java.awt.event.*; //引用类设置触发事件
import java.awt.event.KeyEvent;
import java.awt.event.InputEvent;
import static javax.swing.JFrame.*; //设置一个窗口类
class WindowMenu extends JFrame
{
JMenuBar Mymenubar ;
JMenu menu[] = new JMenu []; //有多个菜单,用数组表示
JMenuItem item[][] =new JMenuItem [][];
ActionListener mylistener; //声明一个触发响应事件
//构造函数
public WindowMenu() {}
public WindowMenu(String title , int x ,int y, int a, int b )
{
init( title ); //初始化窗口
setText(); //设置一个文本区域
setSize(a,b); //设置窗口大小
setLocation(x,y); //设置窗口位置
setVisible(true); //窗口是否可见
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //注销窗口
} void init(String str) //设置一个初始化事件
{ int i;
setTitle(str);
Mymenubar = new JMenuBar(); //创建一个菜单条
menu[] = new JMenu("文件(F)");
menu[] = new JMenu("编辑(E)");
menu[] = new JMenu("格式(O)");
menu[] = new JMenu("查看(V)");
menu[] = new JMenu("帮助(H)");
for(i=; i<;i++)
Mymenubar.add(menu[i]);
item[] = new JMenuItem []; //项目条 数目
item[][] = new JMenuItem("新建(N)");
item[][].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK)); //设置快捷键
item[][] = new JMenuItem("打开(O)");
item[][].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
item[][] = new JMenuItem("保存(S)");
item[][].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
item[][] = new JMenuItem("另存为(A)");
item[][].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
item[][] = new JMenuItem("页面设置(U)");
item[][].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));
item[][] = new JMenuItem("打印(P)");
item[][].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
item[][] = new JMenuItem("退出(X)");
item[][].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
for(i=;i<;i++)
menu[].add(item[][i]);
//设置第二个版面的子菜单
item[] = new JMenuItem []; //单独对二维数组分配空间
item[][] = new JMenuItem("撤销(U)"); //创建窗口条目
item[][].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK)); //将键盘关键字绑定到窗口上
item[][]=new JMenuItem("剪切(T)");
item[][].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
item[][] = new JMenuItem("复制(C)");
item[][].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C ,InputEvent.CTRL_MASK));
item[][] =new JMenuItem("粘贴(P)");
item[][].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P ,InputEvent.CTRL_MASK));
item[][] = new JMenuItem("删除(L)");
item[][].setAccelerator(KeyStroke.getKeyStroke("Del")); // int 型强制转换成为 char 型
item[][] = new JMenuItem("查找(F)");
item[][].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F ,InputEvent.CTRL_MASK));
item[][] = new JMenuItem("查找下一个(N)");
item[][].setAccelerator(KeyStroke.getKeyStroke("F3"));
item[][] = new JMenuItem("替换(R)");
item[][].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent.CTRL_MASK));
item[][] = new JMenuItem("转到(G)");
item[][].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G , InputEvent.CTRL_MASK));
item[][] = new JMenuItem("全选(A)");
item[][].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A , InputEvent.CTRL_MASK));
item[][] = new JMenuItem("时间/日期(D)");
item[][].setAccelerator(KeyStroke.getKeyStroke("F5"));
for(i=;i<;i++)
menu[].add(item[][i]);
item[] = new JMenuItem [];
item[][]= new JMenuItem("自动换行(W)");
item[][].setAccelerator(KeyStroke.getKeyStroke("W"));
item[][] = new JMenuItem("字体(F)");
item[][].setAccelerator(KeyStroke.getKeyStroke("F"));
for(i=;i<;i++)
menu[].add(item[][i]);
item[] = new JMenuItem [];
item[][] = new JMenuItem("状态栏(s)");
menu[].add(item[][]);
item[] = new JMenuItem [];
item[][] = new JMenuItem("查看帮助(H)");
item[][].setAccelerator(KeyStroke.getKeyStroke("H"));
item[][] = new JMenuItem("关于记事本(A)");
item[][].setAccelerator(KeyStroke.getKeyStroke("A"));
for(i=;i<;i++)
menu[].add(item[][i]);
setJMenuBar(Mymenubar);
}
//放置一个文本框方法
void setText()
{
JTextArea myText;
myText = new JTextArea(,); //设置一个文本大大小
add(new JScrollPane(myText)); //将文本加载到窗口上去JScrollPane
//对文本的一个触发事件的封装
mylistener = new readerListen(); //调用触发一个自定义触发事件类,即即将要执行的动作
//myText.addActionListener(mylistener);
}
//放置响应触发事件 }
public class note_text {
public static void main(String args[])
{
WindowMenu mywind;
mywind= new WindowMenu("记事本",,,,);
}
}