《Java程序設(shè)計》課程綜合性實驗報告簡易寫字板軟件設(shè)計

上傳人:仙*** 文檔編號:28048797 上傳時間:2021-08-23 格式:DOC 頁數(shù):24 大?。?88.56KB
收藏 版權(quán)申訴 舉報 下載
《Java程序設(shè)計》課程綜合性實驗報告簡易寫字板軟件設(shè)計_第1頁
第1頁 / 共24頁
《Java程序設(shè)計》課程綜合性實驗報告簡易寫字板軟件設(shè)計_第2頁
第2頁 / 共24頁
《Java程序設(shè)計》課程綜合性實驗報告簡易寫字板軟件設(shè)計_第3頁
第3頁 / 共24頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《Java程序設(shè)計》課程綜合性實驗報告簡易寫字板軟件設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《《Java程序設(shè)計》課程綜合性實驗報告簡易寫字板軟件設(shè)計(24頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、華北科技學(xué)院計算機(jī)系綜合性實驗報告 華北科技學(xué)院計算機(jī)系綜合性實驗 實 驗 報 告 課程名稱 Java程序設(shè)計 實驗學(xué)期 2011 至 2012 學(xué)年 第 1 學(xué)期 學(xué)生所在系部 基礎(chǔ)部 年級 2009 專業(yè)班級 計算B092 學(xué)生姓名 學(xué)號 任課教師 實驗成績

2、 計算機(jī)系制 《Java程序設(shè)計》課程綜合性實驗報告 開課實驗室: 基礎(chǔ)實驗室 2011 年 12 月 5 日 實驗題目 簡易寫字板軟件設(shè)計 一、 實驗?zāi)康? i. 通過編寫Java的應(yīng)用系統(tǒng)綜合實例——簡易寫字板軟件,總結(jié)、回顧和實踐面向?qū)ο蟮木幊趟枷胍约熬幊谭椒ǎ⑼ㄟ^編寫程序來掌握J(rèn)ava語言編程技巧,將學(xué)習(xí)到的知識融會貫通,同時提高調(diào)試程序的能力,養(yǎng)成良好的編程習(xí)慣,并增強對程序設(shè)計整體思路的把握。 ii. 熟悉在集成開發(fā)環(huán)境下編寫Java程序。 二、 設(shè)備與環(huán)

3、境 iii. 硬件:多媒體計算機(jī) iv. 軟件:Windows 2000以上的操作系統(tǒng)、JDK開發(fā)包、集成開發(fā)環(huán)境 三、 實驗內(nèi)容 v. 總體要求:程序功能基本完成,用戶界面友好,代碼的可維護(hù)性和可擴(kuò)展性較好,最好包括必要的注釋和相應(yīng)的文檔。 vi. 具體要求:基本的文本錄入,字符修改,刪除,換行,粘貼,復(fù)制,剪切等功能,主要包括: 2. 菜單欄設(shè)計及功能實現(xiàn):菜單欄主要包括文件、編輯、格式、幫助等常見菜單。其中文件菜單有新建、打開、保存、另存為、退出等功能;編輯菜單有剪切、復(fù)制、粘貼、等功能;格式菜單含有對文字字體、字型、字號及顏色等的設(shè)置功能,根據(jù)情況可在編輯菜單添加查找和查找

4、替換功能。 3. 編輯區(qū)設(shè)計:對文本的編輯處理區(qū)。 4. 工具欄設(shè)計:可根據(jù)需要增加該項功能。 5. 其他功能設(shè)計。 四、 實驗結(jié)果及分析 1. 主界面的設(shè)計與實現(xiàn) a) 整個界面共包括四個部分,包括:標(biāo)題欄、菜單欄、編輯區(qū)、狀態(tài)欄以及滾動條,如圖1所示。 b) 6. 圖表 1記事本的整體布局 menuBar=new JMenuBar(); setJMenuBar(menuBar); menu=new JMenu[5]; menuItem=new JMenuItem[menu.length][]; menu[0]=new JMenu("文件

5、(F)"); menu[0].setMnemonic(F); menu[1]=new JMenu("編輯(E)"); menu[1].setMnemonic(E); menu[2]=new JMenu("格式(O)"); menu[2].setMnemonic(O); menu[3]=new JMenu("查看(V)"); menu[3].setMnemonic(V); menu[4]=new JMenu("幫助(H)"); menu[4].setMnemonic(H); 7. 菜單的設(shè)計 a) 本程序共設(shè)計四個菜單,分別是文

6、件、編輯、格式、幫助四個菜單的功能, b) 針對記事本的需求,文件菜單欄實現(xiàn)了新建、打開、保存、另存為、退出的功能。如圖二所示。 c) 8. 圖表 2文件菜單欄 menuItem[0]=new JMenuItem[5]; menuItem[1]=new JMenuItem[7]; menuItem[2]=new JMenuItem[2]; menuItem[3]=new JMenuItem[1]; menuItem[4]=new JMenuItem[1]; menuItem[0][0]=new JMenuItem("新建(N)"); menuI

7、tem[0][0].setMnemonic(N); menuItem[0][1]=new JMenuItem("打開(O) ..."); menuItem[0][1].setMnemonic(O); menuItem[0][2]=new JMenuItem("保存(S)"); menuItem[0][2].setMnemonic(S); menuItem[0][3]=new JMenuItem("另存為(A) ..."); menuItem[0][3].setMnemonic(A); menuItem[0][4]=new JMenuItem

8、("關(guān)閉(C)"); menuItem[0][4].setMnemonic(C); a) 編輯欄中實現(xiàn)了常見的剪切、復(fù)制、粘貼、查找與替換、全選以及時間/日期的功能。如圖三所示。 b) 9. 圖表 3編輯菜單欄 menuItem[1][0]=new JMenuItem("剪切(X)"); menuItem[1][0].setMnemonic(X); menuItem[1][1]=new JMenuItem("復(fù)制(C)"); menuItem[1][1].setMnemonic(C); menuItem[1][2]=new JMenuItem("粘貼(

9、P)"); menuItem[1][2].setMnemonic(P); menuItem[1][3]=new JMenuItem("查找(F)"); menuItem[1][3].setMnemonic(F); menuItem[1][4]=new JMenuItem("替換(R)"); menuItem[1][4].setMnemonic(R); menuItem[1][5]=new JMenuItem("全選(A)"); menuItem[1][5].setMnemonic(A); menuItem[1][6]=new JMenuItem(

10、"時間/日期(T)"); menuItem[1][6].setMnemonic(T); a) 格式欄中實現(xiàn)了自動換行以及字體設(shè)置功能。如圖四所示 b) 10. 圖表 4格式菜單欄 menuItem[2][0]=new JCheckBoxMenuItem("自動換行(W)"); menuItem[2][0].setMnemonic(T); i. 在字體設(shè)置中實現(xiàn)了字體,字號、字形三個功能,如圖五所示。 11. 12. 13. 圖表 5字體設(shè)置選項 JTextArea ta; JScrollPane scr; JMenuBar menuBar;

11、 JMenu menu[]; JMenuItem menuItem[][], popupMenuItem[]; JPopupMenu popupMenu; JLabel lblStatus; JComboBox cbFont, cbSize, cbStyle; boolean changed; String curFileName; String schText[]=new String[2]; String[] strFonts; String[] strSize={"8","9","10","11","12","14","16","18","20","2

12、2","24","26","28","36","48","72"}; String[] strStyle={"常規(guī)","粗體","斜體","粗斜體"}; Container ctn; SchInfo schInfo; GraphicsEnvironment ge; Font defaultFont=new Font("宋體", Font.PLAIN, 12), fonts[]; public zhaoliyang514() { super("無標(biāo)題 - 記事本"); changed=false; curFileName=""; lblStat

13、us=new JLabel("就緒"); ta=new JTextArea(); scr=new JScrollPane(ta); ctn=getContentPane(); ge=GraphicsEnvironment.getLocalGraphicsEnvironment(); strFonts=ge.getAvailableFontFamilyNames(); cbFont=new JComboBox(strFonts); cbFont.setFont(defaultFont); cbFont.setSelectedItem("宋體");

14、 cbSize=new JComboBox(strSize); cbSize.setFont(defaultFont); cbSize.setSelectedItem("12"); cbStyle=new JComboBox(strStyle); cbFont.setSelectedItem("常規(guī)"); cbStyle.setFont(defaultFont); cbFont.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent ie)

15、 { int size, style; String fontName; fontName=(String)cbFont.getSelectedItem(); style=cbStyle.getSelectedIndex(); size=Integer.parseInt((String)cbSize.getSelectedItem()); Font font=new Font(fontName, style, size); ta.setFont(font); } }); i. 幫助欄實現(xiàn)了關(guān)于記事本的介

16、紹功能,如圖六所示。 14. 15. 圖表 6幫助欄選項 if (ae.getSource()==menuItem[4][0]) { JOptionPane.showMessageDialog(null, "基礎(chǔ)部,計算B092 趙禮陽", "關(guān)于 記事本", JOptionPane.INFORMATION_MESSAGE); } 16. 編輯區(qū)設(shè)計 i. 在編輯區(qū)中通過getContentPane().add(new JScrollPane(text))成功實現(xiàn)了將要輸入的文本成功輸入到編輯區(qū)中,并且這句還增加了文本的滾動

17、條,增加了記事本的實用性。 2. 文件菜單中各項功能的實現(xiàn) ii. 在設(shè)計記事本中成功完成了文件欄中的新建、打開、保存、另存為、退出的功能。 17. 18. 圖表 7打開功能 public void open() { JFileChooser fc=new JFileChooser(); if (fc.showOpenDialog(this)==JFileChooser.APPROVE_OPTION) { String _curFileName=fc.getSelectedFile().getAbsolutePath(); File file

18、=new File(_curFileName); if (file.exists()) { curFileName=_curFileName; File f=new File(curFileName); setTitle(f.getName()+" - 記事本"); changed=false; readFile(file); } else JOptionPane.showMessageDialog(null, file.getAbsolutePath()+"\n找不到文件。\n請檢查所給的文

19、件名是否正確。\n", "打開失敗", JOptionPane.ERROR_MESSAGE); } } 19. 20. 圖表 8保存及另存為功能 public void saveAs() { JFileChooser fc=new JFileChooser(); fc.setDialogTitle("另存為"); if (fc.showSaveDialog(this)==JFileChooser.APPROVE_OPTION) { boolean overwrite=false; String _curFile

20、Name=fc.getSelectedFile().getAbsolutePath(); File file=new File(_curFileName); if (file.exists()) { int exit; exit=JOptionPane.showConfirmDialog( this, file.getAbsolutePath()+"已存在。\n要覆蓋它嗎? ", "另存為", JOptionPane.YES_NO_OPTION); if (exit==JOptionPane

21、.YES_OPTION) overwrite=true; } else overwrite=true; if (overwrite) { changed=false; saveFile(file); curFileName=_curFileName; File f=new File(curFileName); setTitle(f.getName()+" - 記事本"); } } } 21. 3、格式菜單中各項功能的實現(xiàn) i. 在設(shè)計記事本的格式欄中成功完成了自動換

22、行以及字體的設(shè)置功能。其中在字體中包括了字體、字號、字形三個設(shè)置,達(dá)到了對字體設(shè)置的基本要求。 22. 4、程序源代碼 import java.io.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.util.*; class Searcher extends JDialog { private JLabel Sample = new JLabel(); private int curRow, cu

23、rCol; private JTextField tfS; private JCheckBox chkCaseSensible; private JButton btnOK; private JButton btnCancel; private Searcher dlg; public static SchInfo schInfo; private JTextArea ta; public Searcher(Frame parent, boolean modal, JTextArea _ta) { super(parent,modal); sch

24、Info=new SchInfo(); ta=_ta; Container ctn=getContentPane(); JPanel ctn1=new JPanel(); JPanel ctn2=new JPanel(); JPanel ctn3=new JPanel(); JPanel ctn4=new JPanel(); btnOK=new JButton("查找下一個"); btnCancel=new JButton("取消"); initAll(); chkCaseSensible=new JCheckBox("區(qū)分大小寫",

25、 false); tfS=new JTextField(10); ctn.setLayout(new FlowLayout()); ctn.add(ctn1); ctn.add(ctn2); ctn1.setLayout(new GridLayout(2, 1)); ctn1.add(ctn3); ctn1.add(ctn4); ctn3.setLayout(new FlowLayout()); ctn4.setLayout(new FlowLayout()); ctn3.add(new JLabel("查找內(nèi)容:")); ct

26、n3.add(tfS); ctn4.add(chkCaseSensible); ctn2.setLayout(new GridLayout(2, 1)); ctn2.add(btnOK); ctn2.add(btnCancel); setTitle("查找"); btnOK.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { schInfo.str=tfS.getText(); schIn

27、fo.caseSensible=chkCaseSensible.isSelected(); String str=ta.getText(); int index; if (schInfo.caseSensible) index=str.indexOf(schInfo.str, ta.getCaretPosition()); else index=str.toUpperCase().indexOf(schInfo.str.toUpperCase(), ta.getCaretPosition()); if (index!=-

28、1) { ta.select(index, index+schInfo.str.length()); } else JOptionPane.showMessageDialog(null, "找不到\""+schInfo.str+"\"", "記事本", JOptionPane.INFORMATION_MESSAGE); } }); btnCancel.addActionListener( new ActionListener() { public void a

29、ctionPerformed(ActionEvent ae) { schInfo.str=""; schInfo.caseSensible=false; setVisible(false); } }); setVisible(true); } private void initAll() { setSize(400,140); setLocation(350,150); addWindowListener(new WindowAdapter() { public void windowClos

30、ing(java.awt.event.WindowEvent e) { setVisible (false); } }); } } class SchInfo { public String str; public boolean caseSensible; } class Replacer extends JDialog { private JLabel Sample = new JLabel(); private int curRow, curCol; private JTextField tfS, tfR; pr

31、ivate JCheckBox chkCaseSensible; private JButton btnOK, btnReplace; private JButton btnCancel; private Replacer dlg; public static RplInfo schInfo; private JTextArea ta; public Replacer(Frame parent, boolean modal, JTextArea _ta) { super(parent,modal); schInfo=new RplInfo(); t

32、a=_ta; Container ctn=getContentPane(); JPanel ctn1=new JPanel(); JPanel ctn2=new JPanel(); JPanel ctn3=new JPanel(); JPanel ctn4=new JPanel(); JPanel ctn5=new JPanel(); btnOK=new JButton("查找下一個"); btnReplace=new JButton("替換"); btnCancel=new JButton("取消"); initAll();

33、chkCaseSensible=new JCheckBox("區(qū)分大小寫", false); tfS=new JTextField(10); tfR=new JTextField(10); ctn.setLayout(new FlowLayout()); ctn.add(ctn1); ctn.add(ctn2); ctn1.setLayout(new GridLayout(3,1)); ctn1.add(ctn3); ctn1.add(ctn4); ctn1.add(ctn5); ctn3.setLayout(new FlowLayo

34、ut()); ctn4.setLayout(new FlowLayout()); ctn5.setLayout(new FlowLayout()); ctn3.add(new JLabel("查找內(nèi)容:")); ctn3.add(tfS); ctn4.add(new JLabel("替換為:")); ctn4.add(tfR); ctn5.add(chkCaseSensible); ctn2.setLayout(new GridLayout(3, 1)); ctn2.add(btnOK); ctn2.add(btnReplace);

35、 ctn2.add(btnCancel); setTitle("替換"); btnOK.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { schInfo.str=tfS.getText(); schInfo.caseSensible=chkCaseSensible.isSelected(); String str=ta.getText(); int index; if (sch

36、Info.caseSensible) index=str.indexOf(schInfo.str, ta.getCaretPosition()); else index=str.toUpperCase().indexOf(schInfo.str.toUpperCase(), ta.getCaretPosition()); if (index!=-1) { ta.select(index, index+schInfo.str.length()); } else JOptionPane.showMes

37、sageDialog(null, "找不到\""+schInfo.str+"\"", "記事本", JOptionPane.INFORMATION_MESSAGE); } }); btnReplace.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { String str=ta.getSelectedText(); int index; schInfo

38、.str=tfS.getText(); if (str!=null && str.equals(tfS.getText())) index=ta.getCaretPosition()-tfS.getText().length(); else { schInfo.caseSensible=chkCaseSensible.isSelected(); str=ta.getText(); if (schInfo.caseSensible) index=str.indexOf(schInfo.str, ta.ge

39、tCaretPosition()); else index=str.toUpperCase().indexOf(schInfo.str.toUpperCase(), ta.getCaretPosition()); } str=ta.getText(); if (index!=-1) { str.replaceFirst(tfS.getText(), tfR.getText()); String strTemp=str.substring(0, index)+tfR.getText()+str.substr

40、ing((index+tfS.getText().length()), str.length()); str=strTemp; ta.setText(str); ta.setCaretPosition(index+tfR.getText().length()); } else JOptionPane.showMessageDialog(null, "找不到\""+schInfo.str+"\"", "記事本", JOptionPane.INFORMATION_MESSAGE);

41、 } }); btnCancel.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { schInfo.str=""; schInfo.caseSensible=false; setVisible(false); } }); setVisible(true); } private void initAll() { setSize(400,140); setLoc

42、ation(350,150); addWindowListener(new WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent e) { setVisible (false); } }); } } class RplInfo extends SchInfo { public String strR; } public class zhaoliyang514 extends JFrame implements ActionListen

43、er { JTextArea ta; JScrollPane scr; JMenuBar menuBar; JMenu menu[]; JMenuItem menuItem[][], popupMenuItem[]; JPopupMenu popupMenu; JLabel lblStatus; JComboBox cbFont, cbSize, cbStyle; boolean changed; String curFileName; String schText[]=new String[2]; String[] strFonts; S

44、tring[] strSize={"8","9","10","11","12","14","16","18","20","22","24","26","28","36","48","72"}; String[] strStyle={"常規(guī)","粗體","斜體","粗斜體"}; Container ctn; SchInfo schInfo; GraphicsEnvironment ge; Font defaultFont=new Font("宋體", Font.PLAIN, 12), fonts[]; public zhaoliyang514() { super

45、("無標(biāo)題 - 記事本"); changed=false; curFileName=""; lblStatus=new JLabel("就緒"); ta=new JTextArea(); scr=new JScrollPane(ta); ctn=getContentPane(); ge=GraphicsEnvironment.getLocalGraphicsEnvironment(); strFonts=ge.getAvailableFontFamilyNames(); cbFont=new JComboBox(strFonts);

46、cbFont.setFont(defaultFont); cbFont.setSelectedItem("宋體"); cbSize=new JComboBox(strSize); cbSize.setFont(defaultFont); cbSize.setSelectedItem("12"); cbStyle=new JComboBox(strStyle); cbFont.setSelectedItem("常規(guī)"); cbStyle.setFont(defaultFont); cbFont.addItemListener(new ItemLis

47、tener() { public void itemStateChanged(ItemEvent ie) { int size, style; String fontName; fontName=(String)cbFont.getSelectedItem(); style=cbStyle.getSelectedIndex(); size=Integer.parseInt((String)cbSize.getSelectedItem()); Font font=new Font(fontName, style,

48、size); ta.setFont(font); } }); cbSize.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent ie) { int size, style; String fontName; fontName=(String)cbFont.getSelectedItem(); style=cbStyle.getSelectedIndex(); size=Integer.parse

49、Int((String)cbSize.getSelectedItem()); Font font=new Font(fontName, style, size); ta.setFont(font); } }); cbStyle.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent ie) { int size, style; String fontName; fontName=(String)cbFont.

50、getSelectedItem(); style=cbStyle.getSelectedIndex(); size=Integer.parseInt((String)cbSize.getSelectedItem()); Font font=new Font(fontName, style, size); ta.setFont(font); } }); cbFont.setToolTipText("在這里設(shè)置字體"); cbSize.setToolTipText("在這里設(shè)置字體大小"); cbStyle.setToolTi

51、pText("在這里設(shè)置字體風(fēng)格"); JPanel panel=new JPanel(); panel.add(cbFont); panel.add(cbSize); panel.add(cbStyle); ctn.setLayout(new BorderLayout()); ctn.add(panel, BorderLayout.NORTH); ctn.add(scr, BorderLayout.CENTER); ctn.add(lblStatus, BorderLayout.SOUTH); showMenu(); schText

52、[0]=new String(""); schText[1]=new String(""); lblStatus.setFont(defaultFont); ta.setFont(defaultFont); ta.getDocument().addDocumentListener(new DocumentListener() { public void changedUpdate(DocumentEvent de) { lblStatus.setText("行數(shù):"+ta.getLineCount()); changed=tru

53、e; } public void insertUpdate(DocumentEvent de) { lblStatus.setText("行數(shù):"+ta.getLineCount()); changed=true; } public void removeUpdate(DocumentEvent de) { lblStatus.setText("行數(shù):"+ta.getLineCount()); changed=true; } } ); addWindowListener( n

54、ew WindowAdapter() { public void windowClosing(WindowEvent we) { closeAndSave(); System.exit(0); } }); ta.addMouseListener( new MouseAdapter() { public void mouseReleased(MouseEvent me) { if (me.isPopupTrigger()) { popupMenu.show(zh

55、aoliyang514.this, me.getX()+10, me.getY()+80); } } } ); } public void showMenu() { menuBar=new JMenuBar(); setJMenuBar(menuBar); menu=new JMenu[5]; menuItem=new JMenuItem[menu.length][]; menu[0]=new JMenu("文件(F)"); menu[0].setMnemonic(F); menu[1]=new JMen

56、u("編輯(E)"); menu[1].setMnemonic(E); menu[2]=new JMenu("格式(O)"); menu[2].setMnemonic(O); menu[3]=new JMenu("查看(V)"); menu[3].setMnemonic(V); menu[4]=new JMenu("幫助(H)"); menu[4].setMnemonic(H); menuItem[0]=new JMenuItem[5]; menuItem[1]=new JMenuItem[7]; menuItem[2]=new JM

57、enuItem[2]; menuItem[3]=new JMenuItem[1]; menuItem[4]=new JMenuItem[1]; menuItem[0][0]=new JMenuItem("新建(N)"); menuItem[0][0].setMnemonic(N); menuItem[0][1]=new JMenuItem("打開(O) ..."); menuItem[0][1].setMnemonic(O); menuItem[0][2]=new JMenuItem("保存(S)"); menuItem[0][2].setMne

58、monic(S); menuItem[0][3]=new JMenuItem("另存為(A) ..."); menuItem[0][3].setMnemonic(A); menuItem[0][4]=new JMenuItem("關(guān)閉(C)"); menuItem[0][4].setMnemonic(C); menuItem[1][0]=new JMenuItem("剪切(X)"); menuItem[1][0].setMnemonic(X); menuItem[1][1]=new JMenuItem("復(fù)制(C)"); menuItem[1][

59、1].setMnemonic(C); menuItem[1][2]=new JMenuItem("粘貼(P)"); menuItem[1][2].setMnemonic(P); menuItem[1][3]=new JMenuItem("查找(F)"); menuItem[1][3].setMnemonic(F); menuItem[1][4]=new JMenuItem("替換(R)"); menuItem[1][4].setMnemonic(R); menuItem[1][5]=new JMenuItem("全選(A)"); menuItem

60、[1][5].setMnemonic(A); menuItem[1][6]=new JMenuItem("時間/日期(T)"); menuItem[1][6].setMnemonic(T); menuItem[2][0]=new JCheckBoxMenuItem("自動換行(W)"); menuItem[2][0].setMnemonic(T); menuItem[2][1]=new JMenuItem(" 字體..."); menuItem[2][1].setEnabled(false); menuItem[3][0]=new JCheckBoxM

61、enuItem("狀態(tài)欄(S)", true); menuItem[3][0].setMnemonic(S); menuItem[4][0]=new JMenuItem("關(guān)于(A) ..."); menuItem[4][0].setMnemonic(S); popupMenuItem=new JMenuItem[4]; popupMenuItem[0]=new JMenuItem("剪切(X)"); popupMenuItem[0].setMnemonic(X); popupMenuItem[1]=new JMenuItem("復(fù)制(C)");

62、 popupMenuItem[1].setMnemonic(C); popupMenuItem[2]=new JMenuItem("粘貼(P)"); popupMenuItem[2].setMnemonic(P); popupMenuItem[3]=new JMenuItem("全選(A)"); popupMenuItem[3].setMnemonic(A); popupMenu=new JPopupMenu(); for(int i=0; i

63、[i].setFont(defaultFont); for (int j=0; j

64、 (int i=0; i

65、fferedReader in=new BufferedReader(new FileReader(file)); String read; char[] readBuf=new char[20480]; int n=0; while (true) { n=in.read(readBuf, 0, 20480); if (n==-1) break; read=new String(readBuf, 0, n); ta.append(read); } in.close(); ta.s

66、etCaretPosition(0); } catch (IOException ioe) { JOptionPane.showMessageDialog(null, "I/O 錯誤:"+ioe+"。\n", "打開失敗", JOptionPane.ERROR_MESSAGE); } } public void saveFile(File file) { try { FileWriter fw_out=new FileWriter(file); PrintWriter out=new PrintWriter(new BufferedWriter(fw_out)); String outData=ta.getText(); String[] outLine; outLine=outData.spli

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!