📄 notepad_frame1.java
字号:
//新建快捷键设置(Ctrl+N)
jMenuFileNew.setAccelerator(javax.swing.KeyStroke.getKeyStroke('N',java.awt.event.KeyEvent.CTRL_MASK, false));
jMenuFileNew.addActionListener(new Notepad_Frame1_jMenuFileNew_actionAdapter(this));
jMenuFileSave.setToolTipText("");
jMenuFileSave.setText("保存");
jMenuFileSave.setEnabled(false);
//保存快捷键设置(Ctrl+S)
jMenuFileSave.setAccelerator(javax.swing.KeyStroke.getKeyStroke('S',java.awt.event.KeyEvent.CTRL_MASK, false));
jMenuFileSave.addActionListener(new Notepad_Frame1_jMenuFileSave_actionAdapter(this));
jMenuFileSaveAs.setToolTipText("");
jMenuFileSaveAs.setText("另存为...");
jMenuFileSaveAs.setEnabled(false);
jMenuFileSaveAs.addActionListener(new Notepad_Frame1_jMenuFileSaveAs_actionAdapter(this));
jMenuPageSetup.setToolTipText("");
jMenuPageSetup.setText("页面设置...");
jMenuFilePrint.setToolTipText("");
jMenuFilePrint.setText("打印...");
//打印快捷键设置(Ctrl+P)
jMenuFilePrint.setAccelerator(javax.swing.KeyStroke.getKeyStroke('P',java.awt.event.KeyEvent.CTRL_MASK, false));
jMenuEdit.setToolTipText("");
jMenuEdit.setText("编辑");
jMenuFormat.setToolTipText("");
jMenuFormat.setText("格式");
jMenuView.setToolTipText("");
jMenuView.setText("查看");
jMenuEditUndo.setToolTipText("");
jMenuEditUndo.setText("撤消");
//撤消快捷键设置(Ctrl+Z)
jMenuEditUndo.setAccelerator(javax.swing.KeyStroke.getKeyStroke('Z',java.awt.event.KeyEvent.CTRL_MASK, false));
jMenuEditCut.setToolTipText("");
jMenuEditCut.setText("剪切");
jMenuEditCut.setEnabled(false);
jMenuEditCut.setAccelerator(javax.swing.KeyStroke.getKeyStroke('X',java.awt.event.KeyEvent.CTRL_MASK, false));
jMenuEditCut.addActionListener(new Notepad_Frame1_jMenuEditCut_actionAdapter(this));
jMenuEditCopy.setToolTipText("");
jMenuEditCopy.setText("复制");
jMenuEditCopy.setEnabled(false);
//拷贝快捷键设置(Ctrl+C)
jMenuEditCopy.setAccelerator(javax.swing.KeyStroke.getKeyStroke('C',java.awt.event.KeyEvent.CTRL_MASK, false));
jMenuEditCopy.addActionListener(new Notepad_Frame1_jMenuEditCopy_actionAdapter(this));
jMenuEditPaste.setToolTipText("");
jMenuEditPaste.setText("粘贴");
jMenuEditPaste.setEnabled(false);
//粘贴快捷键设置(Ctrl+V)
jMenuEditPaste.setAccelerator(javax.swing.KeyStroke.getKeyStroke('V',java.awt.event.KeyEvent.CTRL_MASK, false));
jMenuEditPaste.addActionListener(new Notepad_Frame1_jMenuEditPaste_actionAdapter(this));
jMenuEditDelete.setText("删除");
jMenuEditDelete.setEnabled(false);
jMenuFormatFont.setText("字体...");
jCheckBoxMenuViewStatusBar.setSelected(true);
jCheckBoxMenuViewStatusBar.setText("状态栏");
jCheckBoxMenuViewStatusBar.addActionListener(new Notepad_Frame1_jCheckBoxMenuViewStatusBar_actionAdapter(this));
jCheckBoxMenuViewToolBar.setSelected(true);
jCheckBoxMenuViewToolBar.setText("工具栏");
jCheckBoxMenuViewToolBar.addActionListener(new Notepad_Frame1_jCheckBoxMenuViewToolBar_actionAdapter(this));
jPanelstatus.setLayout(gridLayout1);
statusBar.setBorder(BorderFactory.createLoweredBevelBorder());
statusBarTime.setBorder(BorderFactory.createLoweredBevelBorder());
statusBarXY.setBorder(BorderFactory.createLoweredBevelBorder());
statusBarTime.setText("时间:" + time.toLocaleString());
gridLayout1.setColumns(2);
jButtonSave.setMaximumSize(new Dimension(28, 28));
jButtonSave.setMinimumSize(new Dimension(28, 28));
jButtonSave.setPreferredSize(new Dimension(28, 28));
jButtonSave.setToolTipText("保存文件(Ctrl+S)");
jButtonSave.setText("");
jButtonSave.addActionListener(new Notepad_Frame1_jButtonSave_actionAdapter(this));
jMenuEditSelectAll.setText("全选");
jMenuEditSelectAll.setEnabled(false);
//全选??捷??设置(Ctrl+A)
jMenuEditSelectAll.setAccelerator(javax.swing.KeyStroke.getKeyStroke('A',java.awt.event.KeyEvent.CTRL_MASK, false));
jMenuEditSelectAll.addActionListener(new Notepad_Frame1_jMenuEditSelectAll_actionAdapter(this));
jButtonUndo.setMaximumSize(new Dimension(28, 28));
jButtonUndo.setMinimumSize(new Dimension(28, 28));
jButtonUndo.setPreferredSize(new Dimension(28, 28));
jButtonUndo.setToolTipText("撤消(Ctrl+Z)");
jButtonUndo.setIcon(imageUndo);
jButtonRedo.setMaximumSize(new Dimension(28, 28));
jButtonRedo.setMinimumSize(new Dimension(28, 28));
jButtonRedo.setPreferredSize(new Dimension(28, 28));
jButtonRedo.setToolTipText("重做(Ctrl+Y)");
jButtonRedo.setIcon(imageRedo);
jButtonCopy.setMaximumSize(new Dimension(28, 28));
jButtonCopy.setMinimumSize(new Dimension(28, 28));
jButtonCopy.setPreferredSize(new Dimension(28, 28));
jButtonCopy.setToolTipText("复制(Ctrl+C)");
jButtonCopy.setEnabled(false);
jButtonCopy.setIcon(imageCopy);
jButtonCopy.addActionListener(new Notepad_Frame1_jButtonCopy_actionAdapter(this));
jButtonPaste.setMaximumSize(new Dimension(28, 28));
jButtonPaste.setMinimumSize(new Dimension(28, 28));
jButtonPaste.setPreferredSize(new Dimension(28, 28));
jButtonPaste.setToolTipText("粘贴(Ctrl+V)");
jButtonPaste.setEnabled(false);
jButtonPaste.setIcon(imagePaste);
jButtonPaste.addActionListener(new Notepad_Frame1_jButtonPaste_actionAdapter(this));
jButtonCut.setMaximumSize(new Dimension(28, 28));
jButtonCut.setMinimumSize(new Dimension(28, 28));
jButtonCut.setPreferredSize(new Dimension(28, 28));
jButtonCut.setToolTipText("剪切(Ctrl+X)");
jButtonCut.setEnabled(false);
jButtonCut.setIcon(imageCut);
jButtonCut.addActionListener(new Notepad_Frame1_jButtonCut_actionAdapter(this));
jMenuWaiGuan.setText("外观样式");
jRadioButtonMenuJava.setText("JAVA风格");
jRadioButtonMenuJava.setSelected(true);
jRadioButtonMenuJava.addActionListener(new Notepad_Frame1_jRadioButtonMenuJava_actionAdapter(this));
jRadioButtonMenuMotif.setText("Motif风格");
jRadioButtonMenuMotif.addActionListener(new Notepad_Frame1_jRadioButtonMenuMotif_actionAdapter(this));
jRadioButtonMenuWindows.setText("Windows风格");
jRadioButtonMenuWindows.addActionListener(new Notepad_Frame1_jRadioButtonMenuWindows_actionAdapter(this));
jButtonNew.setMaximumSize(new Dimension(28, 28));
jButtonNew.setMinimumSize(new Dimension(28, 28));
jButtonNew.setPreferredSize(new Dimension(28, 28));
jButtonNew.setIcon(imageNew);
jButtonNew.setText("");
jButtonNew.addActionListener(new Notepad_Frame1_jButtonNew_actionAdapter(this));
jButtonNew.setToolTipText("新建(Ctrl+N)");
jMenuFind.setText("查找...");
jMenuFind.setEnabled(false);
jMenuFind.addActionListener(new Notepad_Frame1_jMenuFind_actionAdapter(this));
jMenuFindReplace.setText("查找替换...");
jMenuFindReplace.setEnabled(false);
jMenuFindReplace.addActionListener(new Notepad_Frame1_jMenuFindReplace_actionAdapter(this));
jToolBar.add(jButtonNew, null);
jToolBar.add(jButtonOpen);
jToolBar.add(jButtonSave);
jToolBar.add(jButtonClose);
jToolBar.addSeparator();
jToolBar.add(jButtonUndo, null);
jToolBar.add(jButtonRedo, null);
jToolBar.add(jButtonCopy, null);
jToolBar.add(jButtonPaste, null);
jToolBar.add(jButtonCut, null);
jToolBar.addSeparator();
jToolBar.add(jButtonHelp);
jMenuFile.add(jMenuFileNew);
jMenuFile.add(jMenuFileOpen);
jMenuFile.add(jMenuFileSave);
jMenuFile.add(jMenuFileSaveAs);
jMenuFile.addSeparator();
jMenuFile.add(jMenuPageSetup);
jMenuFile.add(jMenuFilePrint);
jMenuFile.addSeparator();
jMenuFile.add(jMenuFileExit);
jMenuHelp.add(jMenuHelpAbout);
jMenuBar1.add(jMenuFile);
jMenuBar1.add(jMenuEdit);
jMenuBar1.add(jMenuFormat);
jMenuBar1.add(jMenuView);
jMenuBar1.add(jMenuHelp);
this.setJMenuBar(jMenuBar1);
contentPane.add(jToolBar, BorderLayout.NORTH);
contentPane.add(desktopPane,BorderLayout.CENTER);
contentPane.add(jPanelstatus, BorderLayout.SOUTH);
jPanelstatus.add(statusBar, null);
jPanelstatus.add(statusBarTime, null);
jPanelstatus.add(statusBarXY, null);
jMenuEdit.add(jMenuEditUndo);
jMenuEdit.addSeparator();
jMenuEdit.add(jMenuEditCut);
jMenuEdit.add(jMenuEditCopy);
jMenuEdit.add(jMenuEditPaste);
jMenuEdit.add(jMenuEditDelete);
jMenuEdit.addSeparator();
jMenuEdit.add(jMenuEditSelectAll);
jMenuFormat.add(jMenuFormatFont);
jMenuView.add(jMenuWaiGuan);
jMenuView.add(jMenuFind);
jMenuView.add(jMenuFindReplace);
jMenuView.add(jCheckBoxMenuViewStatusBar);
jMenuView.add(jCheckBoxMenuViewToolBar);
jMenuWaiGuan.add(jRadioButtonMenuJava);
jMenuWaiGuan.add(jRadioButtonMenuMotif);
jMenuWaiGuan.add(jRadioButtonMenuWindows);
}
//File | Exit action performed
public void jMenuFileExit_actionPerformed(ActionEvent e) {
if(vectorFile.isEmpty()) {
// 退出系统
System.exit(0);
} else {
int dialogType =
JOptionPane.showConfirmDialog(this, "文件是否要保存", "关闭",JOptionPane.YES_NO_OPTION);
if (dialogType == JOptionPane.YES_OPTION) {
return;
} else {
// 退出系统
System.exit(0);
}
}
}
//Help | About action performed
public void jMenuHelpAbout_actionPerformed(ActionEvent e)
{
Notepad_Frame1_AboutBox dlg = new Notepad_Frame1_AboutBox(this);
Dimension dlgSize = dlg.getPreferredSize();
Dimension frmSize = getSize();
Point loc = getLocation();
dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,
(frmSize.height - dlgSize.height) / 2 + loc.y);
dlg.setModal(true);
dlg.pack();
dlg.show();
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
jMenuFileExit_actionPerformed(null);
}
}
protected void jButtonOpen_actionPerformed(ActionEvent e) {
jMenuFileOpen_actionPerformed(e);
}
protected void jButtonHelp_actionPerformed(ActionEvent e) {
jMenuHelpAbout_actionPerformed(e);
}
protected void jButtonClose_actionPerformed(ActionEvent e) {
jMenuFileExit_actionPerformed(e);
}
protected void jMenuFileOpen_actionPerformed(ActionEvent e) {
try {
UIManager.setLookAndFeel(currentLookAndFeel);
} catch (Exception e1) {
e1.printStackTrace();
}
JFileChooser filechooser = new JFileChooser();
filechooser.setSelectedFile(file);
filechooser.addChoosableFileFilter(new JavaFileFilter("jsp"));
filechooser.addChoosableFileFilter(new JavaFileFilter("html"));
filechooser.addChoosableFileFilter(new JavaFileFilter("txt"));
filechooser.addChoosableFileFilter(new JavaFileFilter("java"));
filechooser.setFileView(new FileIcon());
int returnVal = filechooser.showOpenDialog(Notepad_Frame1.this);
//如果在弹出的对话框中选择yes或ok的场合
if (returnVal == JFileChooser.APPROVE_OPTION) {
file = filechooser.getSelectedFile();
if(file != null) {
newInteface temp = null;
Enumeration en = vectorFile.elements();
while (en.hasMoreElements()) {
temp = (newInteface) en.nextElement();
if (getFileName(temp.getNewIntefaceTitle()).equals(getFileName(file.toString()))) {
temp.setJInternalFrameEnabled(file.toString());
break;
} else {
temp = null;
}
}
if (file != null && temp == null) {
openFile();
}
}
}
}
//********************************************************************
/**
* 打开文件
*
*/
//********************************************************************
protected void openFile() {
newInteface temp = new newInteface(this,file.toString(),false);
// 设置打开的文件标记为假
temp.setSaveFlag(false);
// 设置子窗口标题栏
temp.setNewIntefaceTitle(file.toString());
// 把打开的子窗口加到Vector中
vectorFile.addElement(temp);
FileReader in = null;
try {
in = new FileReader(file);
int n = 0;
while ( (n = in.read()) != -1) {
String str = String.valueOf( (char) n);
temp.insertString(str);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if(in != null) {
try {
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
//将编辑栏下查找菜单消彖为可用
jMenuFind.setEnabled(true);
//将编辑栏下查找并替换菜单消彖为可用
jMenuFindReplace.setEnabled(true);
//将编辑栏下剪切菜单消彖为可用
jMenuEditCut.setEnabled(true);
//将编辑栏下拷贝菜单消彖为可用
jMenuEditCopy.setEnabled(true);
//将编辑栏下粘贴菜单消彖为可用
jMenuEditPaste.setEnabled(true);
//将编辑栏下全选菜单消彖为可用
jMenuEditSelectAll.setEnabled(true);
//将工具栏拷贝按键设为可用
jButtonCopy.setEnabled(true);
//将工具栏粘贴按键设为可用
jButtonPaste.setEnabled(true);
//将工具栏剪切按键设为可用
jButtonCut.setEnabled(true);
}
//********************************************************************
/**
* 当选择保存时
*
*/
//********************************************************************
protected void saveOption() {
//设置当前可编辑窗口
setSelectFrame();
if (selectFrame != null) {
File file = new File(selectFrame.getNewIntefaceTitle());
if (selectFrame.saveFlag == true) {
//第一次保存的场合
try {
UIManager.setLookAndFeel(currentLookAndFeel);
} catch (Exception e1) {
e1.printStackTrace();
}
JFileChooser filechooser = new JFileChooser();
filechooser.setSelectedFile(file);
filechooser.addChoosableFileFilter(new JavaFileFilter("jsp"));
filechooser.addChoosableFileFilter(new JavaFileFilter("html"));
filechooser.addChoosableFileFilter(new JavaFileFilter("txt"));
filechooser.addChoosableFileFilter(new JavaFileFilter("java"));
filechooser.setFileView(new FileIcon());
int returnVal = filechooser.showSaveDialog(Notepad_Frame1.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -