package Swing;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class NoteBook {
//设置窗口的基本属性
public static void _JFrame(JFrame jf) {
jf.setBounds(400,150, 500, 500);
//x,y,表示窗口左上角出现的位置,w,h表示窗口的大小
//可代替setSize()和setLocation()的功能
Toolkit T=Toolkit.getDefaultToolkit();
//粘取图片的工具
//导入包java.awt.Toolkit
Image img=T.getImage("E:\\LearnJavaTest\\记事本.png");
jf.setIconImage(img);
//设置应用图标
jf.setResizable(true);
//设置是否可调节窗口大小
jf.setVisible(true);
//设置窗口是否可见
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置的X的功能,关闭窗口,或者隐藏窗口
}
//设置Ctrl+功能的方法
public static void SetCtrl(JMenuItem JI, int key1,int key2) {
JI.setAccelerator(KeyStroke.getKeyStroke(key1,key2));
}
public static void AddFileMenu(setMenu File) {
JMenuItem New=new JMenuItem("新建(N)"),
Open=new JMenuItem("打开(O)"),
Save=new JMenuItem("保存(S)"),
OtherSave=new JMenuItem("另保存(A)"),
PageSetting=new JMenuItem("页面设置(U)",KeyEvent.VK_N),
Print=new JMenuItem("打印(P)"),
Close=new JMenuItem("关闭(C)",KeyEvent.VK_C);
SetCtrl(New,KeyEvent.VK_N, InputEvent.CTRL_MASK);
//设置Ctrl+字母功能
SetCtrl(Open,KeyEvent.VK_O, InputEvent.CTRL_MASK);
SetCtrl(Save,KeyEvent.VK_S, InputEvent.CTRL_MASK);
SetCtrl(Print,KeyEvent.VK_P, InputEvent.CTRL_MASK);
File.add(New);
File.add(Open);
File.add(Save);
File.add(OtherSave);
File.add(PageSetting);
File.add(Print);
File.add(Close);
//添加子菜单到文件中
}
public static void AddEditMenu(setMenu File) {
JMenuItem Revoke=new JMenuItem("撤销(Z)"),
Shear=new JMenuItem("剪切(X)"),
Copy=new JMenuItem("复制(C)"),
Paste=new JMenuItem("粘贴(P)"),
SearchBing=new JMenuItem("受用Bing搜索"),
Search=new JMenuItem("查找(T)"),
SearchNext=new JMenuItem("查找下一个",KeyEvent.VK_F3),
Replace=new JMenuItem("替换(R)"),
Goto=new JMenuItem("转到(G)"),
AllSelect=new JMenuItem("全选(A)"),
Date=new JMenuItem("时间/日期(D)",KeyEvent.VK_F5);
SetCtrl(Revoke,KeyEvent.VK_Z, InputEvent.CTRL_MASK);
SetCtrl(Shear,KeyEvent.VK_X, InputEvent.CTRL_MASK);
SetCtrl(Copy,KeyEvent.VK_C, InputEvent.CTRL_MASK);
SetCtrl(Paste,KeyEvent.VK_V, InputEvent.CTRL_MASK);
SetCtrl(Search,KeyEvent.VK_F, InputEvent.CTRL_MASK);
SetCtrl(Replace,KeyEvent.VK_H, InputEvent.CTRL_MASK);
SetCtrl(Goto,KeyEvent.VK_G, InputEvent.CTRL_MASK);
SetCtrl(AllSelect,KeyEvent.VK_A, InputEvent.CTRL_MASK);
File.add(Revoke);
File.add(Shear);
File.add(Copy);
File.add(Paste);
File.add(SearchBing);
File.add(Search);
File.add(SearchNext);
File.add(Replace);
File.add(Goto);
File.add(AllSelect);
File.add(Date);
//添加子菜单到文件中
}
public static void AddStyleMenu(setMenu File) {
JMenuItem NewLine=new JMenuItem("自动换行(W)",KeyEvent.VK_W),
_Font=new JMenuItem("字体(F)",KeyEvent.VK_F);
File.add(NewLine);
File.add(_Font);
//添加子菜单到文件中
}
public static void AddCheckMenu(setMenu File) {
JMenuItem New=new JMenuItem("缩放(Z)",KeyEvent.VK_N),
Open=new JMenuItem("状态栏(S)",KeyEvent.VK_O);
File.add(New);
File.add(Open);
//添加子菜单到文件中
}
public static void AddHelpMenu(setMenu File) {
JMenuItem New=new JMenuItem("查看(H)",KeyEvent.VK_H),
Open=new JMenuItem("关于记事本(A)",KeyEvent.VK_O);
File.add(New);
File.add(Open);
//添加子菜单到文件中
}
//设置带滚动条的文本框
public static void setJTextArea(JFrame JF) {
JTextArea JTA=new JTextArea();
JTA.setEditable(true);
//设置文本可编辑
JScrollPane JSP=new JScrollPane(JTA);
//设置带滚动条的文本框
JTA.setTabSize(2);
//设置Tab的长度,等于2个中文字符
JTA.setFont(new Font("等线",Font.BOLD,18));
//设置文本的字体、大小、格式
JF.add(JSP);
//添加组件
}
//主方法
public static void main(String[] args) {
JFrame JF=new JFrame("诗意记事本");
JMenuBar JMB=new JMenuBar();//定义菜单栏
setMenu File=new setMenu("文件(F)",KeyEvent.VK_F);
setMenu Edit=new setMenu("编辑(E)",KeyEvent.VK_E);
setMenu Style=new setMenu("格式(O)");
setMenu Check=new setMenu("查看(V)",KeyEvent.VK_V);
setMenu Help=new setMenu("帮助(H)",KeyEvent.VK_H);
//添加子功能
AddFileMenu(File);
AddEditMenu(Edit);
AddStyleMenu(Style);
AddCheckMenu(Check);
AddHelpMenu(Help);
//添加文件菜单到菜单栏中
JMB.add(File);
JMB.add(Edit);
JMB.add(Style);
JMB.add(Check);
JMB.add(Help);
//添加菜单栏到窗口上
JF.setJMenuBar(JMB);
//添加文本框
setJTextArea(JF);
//显示窗口
_JFrame(JF);
}
}
//添加菜单栏一级菜单
class setMenu extends JMenu{
public setMenu(String title) {
super(title);
}
public setMenu(String title,int Key) {
super(title);
setMnemonic(Key);
}
}
Java关于设计简单Windows记事本程序
最新推荐文章于 2022-06-14 15:31:21 发布