📄 notebook.java
字号:
copymMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
textArea.copy();
}
});
pasteMenuItem = new JMenuItem("粘贴(P)");
pasteMenuItem.setMnemonic('P');
pasteMenuItem.setAccelerator(KeyStroke.getKeyStroke('V',java.awt.Event.CTRL_MASK,true));
pasteMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
textArea.paste();
}
});
delMenuItem = new JMenuItem("删除(L)");
delMenuItem.setMnemonic('L');
delMenuItem.setAccelerator(KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_DELETE,0,false));
delMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
textArea.replaceRange("",textArea.getSelectionStart(),textArea.getSelectionEnd());
}
});
seachMenuItem = new JMenuItem("查找(F)");
seachMenuItem.setMnemonic('F');
seachMenuItem.setAccelerator(KeyStroke.getKeyStroke('F',java.awt.Event.CTRL_MASK,true));
seachMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
findFile();
}
});
nextMenuItem = new JMenuItem("下一个(N)");
nextMenuItem.setMnemonic('N');
nextMenuItem.setAccelerator(KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F3,0,false));
nextMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
findNextFile();
}
});
replaceMenuItem = new JMenuItem("替换(R)");
replaceMenuItem.setMnemonic('R');
replaceMenuItem.setAccelerator(KeyStroke.getKeyStroke('H',java.awt.Event.CTRL_MASK,true));
replaceMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
replaceString();
}
});
gotoMenuItem = new JMenuItem("转到(G)");
gotoMenuItem.setMnemonic('G');
gotoMenuItem.setAccelerator(KeyStroke.getKeyStroke('G',java.awt.Event.CTRL_MASK,true));
gotoMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e ) {
goToBox();
}
});
allMenuItem = new JMenuItem("全选(A)");
allMenuItem.setMnemonic('A');
allMenuItem.setAccelerator(KeyStroke.getKeyStroke('A',java.awt.Event.CTRL_MASK,true));
allMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
textArea.selectAll();
}
});
dateMenuItem = new JMenuItem("日期(D)");
dateMenuItem.setMnemonic('G');
dateMenuItem.setAccelerator(KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F5,0,true));
dateMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
int pos = textArea.getCaretPosition();
SimpleDateFormat dateFormat=new SimpleDateFormat ("HH:mm yyyy-MM-dd");
String datesString = dateFormat.format(new java.util.Date());
textArea.insert(datesString, pos);
}
});
formatMenu = new JMenu("格式(O)");
newlineMenuItem = new JCheckBoxMenuItem("自动换行(W)");
newlineMenuItem.setMnemonic('W');
newlineMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(newlineMenuItem.getState() == true){
textArea.setLineWrap(true);
}else{
textArea.setLineWrap(false);
}
}
});
fontMenuItem = new JMenuItem("字体(F)...");
fontMenuItem.setMnemonic('F');
fontMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
showFontSetBox();
}
});
seeMenu = new JMenu("查看 (V)");
statusMenuItem = new JCheckBoxMenuItem("状态(S)");
statusMenuItem.setMnemonic('S');
statusMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(statusMenuItem.getState() == true){
statusPanel.setVisible(true);
}else{
statusPanel.setVisible(false);
}
}
});
helpMenu = new JMenu("帮助(H)");
helpMenuItem = new JMenuItem("帮助");
helpMenuItem.setMnemonic('H');
helpMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Runtime process = Runtime.getRuntime();
File f = new File(this.getClass().getResource("/").getPath());
String str = f.getPath() + "\\notepad.chm";
try {
process.exec("hh.exe " + str);
} catch (IOException ex) {
}
}
});
aboutMenuItem = new JMenuItem("关于(A)");
aboutMenuItem.setMnemonic('A');
aboutMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "作者:奚闻捷"+"\n"+"我的记事本"," 关于", 2);
}
});
fileMenu.setFont(font);
menuBar.add(fileMenu);
fileMenu.add(newMenuItem);
fileMenu.add(openMenuItem);
fileMenu.add(saveMenuItem);
fileMenu.add(saveAsMenuItem);
fileMenu.addSeparator();
fileMenu.add(printMenuItem);
fileMenu.addSeparator();
fileMenu.add(exitMenuItem);
menuBar.add(editMenu);
editMenu.add(undoMenuItem);
editMenu.addSeparator();
editMenu.add(cutMenuItem);
editMenu.add(copymMenuItem);
editMenu.add(pasteMenuItem);
editMenu.add(delMenuItem);
editMenu.addSeparator();
editMenu.add(seachMenuItem);
editMenu.add(nextMenuItem);
editMenu.add(replaceMenuItem);
editMenu.add(gotoMenuItem);
editMenu.addSeparator();
editMenu.add(allMenuItem);
editMenu.add(dateMenuItem);
menuBar.add(formatMenu);
formatMenu.add(newlineMenuItem);
formatMenu.add(fontMenuItem);
menuBar.add(seeMenu);
seeMenu.add(statusMenuItem);
menuBar.add(helpMenu);
helpMenu.add(helpMenuItem);
helpMenu.addSeparator();
helpMenu.add(aboutMenuItem);
popMenuUndo.setText("撤销(U)");
popMenuUndo.setMnemonic('U');
popMenuCut.setText("剪贴(T)");
popMenuCut.setMnemonic('T');
popMenuCopy.setText("复制(C)");
popMenuCopy.setMnemonic('C');
popMenuPaste.setText("粘贴(P)");
popMenuPaste.setMnemonic('P');
popMenuDel.setText("删除(D)");
popMenuDel.setMnemonic('D');
popMenuSelectAll.setText("全选(A)");
popupMenu.add(popMenuUndo);
popupMenu.addSeparator();
popupMenu.add(popMenuCut);
popupMenu.add(popMenuCopy);
popupMenu.add(popMenuPaste);
popupMenu.add(popMenuDel);
popupMenu.addSeparator();
popupMenu.add(popMenuSelectAll);
popupMenu.addSeparator();
//右键菜单Event
popMenuUndo.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
undoDocument();
}
});
popMenuCut.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
textArea.cut();
}
});
popMenuCopy.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
textArea.copy();
}
});
popMenuPaste.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
textArea.paste();
}
});
popMenuDel.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
textArea.replaceRange("",textArea.getSelectionStart(),textArea.getSelectionEnd());
}
});
popMenuSelectAll.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
textArea.selectAll();
}
});
//添加系统退出侦听
this.addWindowListener(new ExitSystem());
//初始化菜单字体
Component[] components =menuBar.getComponents();
ChangeFont(font, components);
Component[] components2 =fileMenu.getMenuComponents();
ChangeFont(font, components2);
Component[] components3 = editMenu.getMenuComponents();
ChangeFont(font, components3);
Component[] components4 = seeMenu.getMenuComponents();
ChangeFont(font, components4);
Component[] components5 = formatMenu.getMenuComponents();
ChangeFont(font, components5);
Component[] components6 = helpMenu.getMenuComponents();
ChangeFont(font, components6);
Component[] components7 = popupMenu.getComponents();
ChangeFont(font, components7);
popMenuUndo.setEnabled(false);
undoMenuItem.setEnabled(false);
//设置Windows风格界面
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel") ;
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (InstantiationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalAccessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (UnsupportedLookAndFeelException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
UIManager.put("OptionPane.messageFont", font);
UIManager.put("Label.font", font);
UIManager.put("Button.font", font);
//打印
job = PrinterJob.getPrinterJob();
this.menuBar.setBackground(SystemColor.control);
this.statusPanel.setBackground(SystemColor.control);
this.statusPanel.setVisible(false);
this.setJMenuBar(menuBar);
this.getContentPane().add(panel);
this.setSize(800,600);
//程序主窗体居中
/*Dimension winSize = Toolkit.getDefaultToolkit().getScreenSize(); //屏幕分辨率
int i =( winSize.width - this.getWidth())/2;
int j = (winSize.height-this.getHeight())/2;
System.out.println(i);
System.out.println(j);
this.setLocation( i , j) ; //窗口定位*/
this.setLocationRelativeTo(null);
this.setTitle(filename+"-记事本");
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); //调用Windwos侦听方法处理退出
this.setVisible(true);
//添加文本域Mouse侦听
textArea.addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
//System.out.println("df");
if (e.isPopupTrigger())
popupMenu.show(e.getComponent(), e.getX(), e.getY());
}
});
}
//更换字体方法
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -