2.1.3 工具栏设计:可根据需要增加该项功能
2.2主界面的框架
如图1所示,菜单栏+文本区+状态栏。
(图 1 主界面)
2.3功能详细设计 2.3.1主界面设计
//菜单
JMenu fileMenu,editMenu,formatMenu,viewMenu,helpMenu;
//“文本”编辑区域
JTextArea editArea;
2
//状态栏标签
JLabel statusLabel;
2.3.2菜单项设计
//“文件”的菜单项 JMenuItem
fileMenu_New,fileMenu_Open,fileMenu_Save,fileMenu_SaveAs,fileMenu_PageSetUp,fileMenu_Print,fileMenu_Exit;
//“编辑”的菜单项 JMenuItem
editMenu_Undo,editMenu_Cut,editMenu_Copy,editMenu_Paste,editMenu_Delete,editMenu_Find,editMenu_FindNext,editMenu_Replace,editMenu_GoTo,editMenu_SelectAll,editMenu_TimeDate;
//“格式”的菜单项
JCheckBoxMenuItem formatMenu_LineWrap; JMenuItem formatMenu_Font; //“查看”的菜单项
JCheckBoxMenuItem viewMenu_Status; //“帮助”的菜单项
JMenuItem helpMenu_HelpTopics,helpMenu_AboutNotepad;
2.3.3窗口设计
//设置窗口在屏幕上的位置、大小和可见性
this.setLocation(100,100); this.setSize(650,550); this.setVisible(true);
2.3.4个人主要设计处
//另存为
else if(e.getSource()==fileMenu_SaveAs) {
editArea.requestFocus(); String str=null;
3
JFileChooser fileChooser=new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); //fileChooser.setApproveButtonText(\确定\fileChooser.setDialogTitle(\另存为\int result=fileChooser.showSaveDialog(this); if(result==JFileChooser.CANCEL_OPTION) { }
statusLabel.setText(\ 您没有选择任何文件\return;
File saveFileName=fileChooser.getSelectedFile();
if(saveFileName==null||saveFileName.getName().equals(\{
JOptionPane.showMessageDialog(this,\不合法的文件名\不合法
的文件名\
}
else {
try {
FileWriter fw=new FileWriter(saveFileName); BufferedWriter bfw=new BufferedWriter(fw);
bfw.write(editArea.getText(),0,editArea.getText().length()); bfw.flush(); fw.close();
oldValue=editArea.getText();
this.setTitle(saveFileName.getName()+\ - 记事本\statusLabel.setText(\
当
前
打
开
文
件:\
}
}
catch(IOException ioException) { }
4
}//另存为结束
/设置剪切,复制,粘帖,删除功能的可用性 //剪切 )); 性
}//剪切结束 //复制
else if(e.getSource()==editMenu_Copy || e.getSource()==popupMenu_Copy) {
editArea.requestFocus();
String text=editArea.getSelectedText();
StringSelection selection=new StringSelection(text); clipBoard.setContents(selection,null); checkMenuItemEnabled();
checkMenuItemEnabled();//设置剪切,复制,粘帖,删除功能的可用
editArea.replaceRange(\
else if(e.getSource()==editMenu_Cut || e.getSource()==popupMenu_Cut) {
editArea.requestFocus();
String text=editArea.getSelectedText();
StringSelection selection=new StringSelection(text); clipBoard.setContents(selection,null);
///粘帖 Try {
else if(e.getSource()==editMenu_Paste || e.getSource()==popupMenu_Paste) {
editArea.requestFocus();
Transferable contents=clipBoard.getContents(this); if(contents==null)return; String text=\
text=(String)contents.getTransferData(DataFlavor.stringFlavor);
}
5
catch (Exception exception) { }
editArea.replaceRange(text,editArea.getSelectionStart(),editArea.getSelectionEn
d());
checkMenuItemEnabled();
}//粘帖结束
2.3.5对每个菜单项的功能进行注册监听。点击不同菜单项时显示不同界面。
主要代码:(同一菜单项的功能选一例) fileMenu_New.addActionListener(this); editMenu_Undo.addActionListener(this); formatMenu_LineWrap.addActionListener(this); helpMenu_AboutNotepad.addActionListener(this);
2.3.6 监听事件
//\替换\按钮监听
replaceButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(replaceText.getText().length()==0&& editArea.getSelectedText()!=null)
editArea.replaceSelection(\
if(replaceText.getText().length()>0&&editArea.getSelectedText()!=null) }
editArea.replaceSelection(replaceText.getText());
});//\替换\按钮监听结束
6
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库JAVA记事本(2)在线全文阅读。
相关推荐: