Java 記事本設(shè)計完整代碼_第1頁
Java 記事本設(shè)計完整代碼_第2頁
Java 記事本設(shè)計完整代碼_第3頁
Java 記事本設(shè)計完整代碼_第4頁
Java 記事本設(shè)計完整代碼_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

功能界面展示:記事本完整代碼:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.CaretEvent;importjavax.swing.event.CaretListener;importjava.io.*;@SuppressWarnings("serial")classmynotepadextendsJFrame{ Filefile=null; JTextAreacontent=newJTextArea(); JFileChooseropenfile=newJFileChooser(); JColorChooseropencolor=newJColorChooser(); JDialogabout=newJDialog(this); JMenuBarmenu=newJMenuBar(); JFramep=newJFrame(); booleanWordWrap=false; booleanstatus=false; mynotepad(){ initTextContent(); initMenu(); } voidinitTextContent(){ JScrollPanescroll=newJScrollPane(content); getContentPane().add(scroll); this.getContentPane().add(scroll,BorderLayout.CENTER); } JMenu[]menus=newJMenu[]{newJMenu("文件(F)"),newJMenu("編輯(E)"), newJMenu("格式(O)"),newJMenu("查找(V)"),newJMenu("幫助(H)")}; JMenuItemoptionofmenu[][]=newJMenuItem[][]{ {newJMenuItem("新建"),newJMenuItem("打開"),newJMenuItem("保存

"), newJMenuItem("退出")}, {newJMenuItem("復(fù)制"),newJMenuItem("剪切"),newJMenuItem("粘

貼"), newJMenuItem("全選"),newJMenuItem("查找"),new

JMenuItem("替換")}, {newJCheckBoxMenuItem("自動換行(W)"),newJMenuItem("字體(F)")}, {newJMenuItem("狀態(tài)欄(S)")}, {newJMenuItem("幫助")}}; JLabeljs=newJLabel(); voidinitMenu(){ for(inti=0;i<menus.length;i++){ menu.add(menus[i]); for(intj=0;j<optionofmenu[i].length;j++){ menus[i].add(optionofmenu[i][j]); optionofmenu[i][j].addActionListener(action); } } menu.add(js); menus[0].setMnemonic(KeyEvent.VK_F); menus[1].setMnemonic(KeyEvent.VK_E); menus[2].setMnemonic(KeyEvent.VK_O); menus[3].setMnemonic(KeyEvent.VK_V); menus[4].setMnemonic(KeyEvent.VK_H); optionofmenu[2][0].setMnemonic(KeyEvent.VK_W); optionofmenu[2][1].setMnemonic(KeyEvent.VK_F); optionofmenu[3][0].setMnemonic(KeyEvent.VK_S); optionofmenu[1][4].addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ finalJDialogdialog=newJDialog(about,"查找字符串...",

true); dialog.setBounds(560,250,310,130); JLabelfind=newJLabel("請輸入字符串:"); finalJTextFieldfindtext=newJTextField(1); JButtonjbu=newJButton("查找"); dialog.setLayout(null); find.setBounds(10,30,90,20); findtext.setBounds(100,30,90,20); jbu.setBounds(200,30,80,20); dialog.add(find); dialog.add(findtext); dialog.add(jbu); jbu.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ Stringtext=content.getText(); Stringstr=findtext.getText(); intend=text.length(); intlen=str.length(); intstart=content.getSelectionEnd(); if(start==end){ start=0; } for(;start<=end-len;start++){ if(text.substring(start,start+

len).equals(str)){ content.setSelectionStart

(start); content.setSelectionEnd

(start+len); return; } } //若找不到待查字符串,則將光標(biāo)置于末尾 content.setSelectionStart(end); content.setSelectionEnd(end); } }); dialog.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ dialog.dispose(); } }); dialog.setResizable(false); dialog.setVisible(true); } }); optionofmenu[1][5].addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ finalJDialogdialog=newJDialog(about,"字符串替換...",

true); dialog.setBounds(560,250,310,180); finalJLabeltihuan=newJLabel("請輸入要替換的字符串

:"); finalJLabelmubiao=newJLabel("請輸入替換后的字符串

:"); finalJTextFieldjtf1=newJTextField(10); finalJTextFieldjtf2=newJTextField(10); JButtonjb=newJButton("替換"); dialog.setLayout(null); tihuan.setBounds(10,30,150,20); mubiao.setBounds(10,70,150,20); jtf1.setBounds(160,30,110,20); jtf2.setBounds(160,70,110,20); jb.setBounds(100,110,80,20); dialog.add(tihuan); dialog.add(mubiao); dialog.add(jtf1); dialog.add(jtf2); dialog.add(jb); jb.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ if(content.getText().contains

(jtf1.getText())) content.setText(content.getText

().replaceFirst( jtf1.getText(),

jtf2.getText())); else{ JOptionPane.showConfirmDialog(null, "沒找到"+

jtf1.getText()); } } }); dialog.setResizable(false); dialog.setVisible(true); } }); JToolBarjb=newJToolBar(); jb.setBackground(newColor(236,233,216)); JLabeljl1=newJLabel(String.format("字符總長:0總行數(shù):0")); jl1.setFont(newFont("宋體",0,12)); jb.add(jl1); JSeparators=newJSeparator(); s.setOrientation(SwingConstants.VERTICAL); jb.add(s); JLabeljl2=newJLabel(String.format("當(dāng)前行:0當(dāng)前列:0")); jl2.setFont(newFont("宋體",0,12)); jb.add(jl2); jb.setFloatable(false); jb.setVisible(status); this.getContentPane().add(jb,BorderLayout.SOUTH); content.addCaretListener(newCaretListener(){ @Override publicvoidcaretUpdate(CaretEvente){ //TODOAuto-generatedmethodstub JTextAreaeditArea=(JTextArea)e.getSource();intlinenum=1;intcolumnnum=1;try{intcaretpos=editArea.getCaretPosition();linenum=editArea.getLineOfOffset(caretpos);columnnum=caretpos-editArea.getLineStartOffset(linenum);linenum+=1;}catch(Exceptionex){}jl1.setText(String.format("字符總長:%d總行數(shù):%d",editArea.getText

().length(),editArea.getLineCount()));jl2.setText(String.format("當(dāng)前行:%d當(dāng)前列:%d",linenum,columnnum)); }}); optionofmenu[3][0].addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ status=!status; if(status){ jb.setVisible(status); } else{ jb.setVisible(status); }} }); this.setJMenuBar(menu); } ActionListeneraction=newActionListener(){ @SuppressWarnings("unused") publicvoidactionPerformed(ActionEvente){ Stringname=e.getActionCommand(); JMenuItemMI=(JMenuItem)e.getSource(); if("新建".equals(name)){ content.setText(""); file=null; }elseif("打開".equals(name)){ if(file!=null) openfile.setSelectedFile(file); intreturnVal=openfile.showOpenDialog(mynotepad.this); if(returnVal==JFileChooser.APPROVE_OPTION){ file=openfile.getSelectedFile(); unfold(); } }elseif("保存".equals(name)){ if(file!=null) openfile.setSelectedFile(file); intreturnVal=openfile.showSaveDialog(mynotepad.this); if(returnVal==JFileChooser.APPROVE_OPTION){ file=openfile.getSelectedFile(); saving(); } }elseif("退出".equals(name)){ mynotepadf=newmynotepad(); ints=JOptionPane.showConfirmDialog(f,"退出?","退出", JOptionPane.YES_NO_OPTION); if(s==JOptionPane.YES_OPTION) System.exit(0); }elseif("剪切".equals(name)){ content.cut(); }elseif("復(fù)制".equals(name)){ content.copy(); }elseif("粘貼".equals(name)){ content.paste(); }elseif(e.getActionCommand().equals("全選")){ content.selectAll(); }elseif(e.getActionCommand().equals("自動換行(W)")){ WordWrap=!(WordWrap); content.setLineWrap(WordWrap); }elseif(e.getActionComm

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論