版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> Java</b></p><p><b> 課</b></p><p><b> 程</b></p><p><b> 設(shè)</b></p><p><b> 計</b></p>&l
2、t;p><b> 報</b></p><p><b> 告</b></p><p> 專業(yè):計算機(jī)科學(xué)與技術(shù)</p><p> 班級:0820542 </p><p> 學(xué)號: </p><p> 姓名:
3、 </p><p> 用 Java 設(shè)計文本編輯器MyTxt</p><p> 內(nèi)容提要:在本文構(gòu)造實(shí)現(xiàn)了一個文本編輯器MyTxt,主要內(nèi)容包括:MyTxt的功能</p><p> 需求分析;MyTxt的基本設(shè)計思路和類的劃分;MyTxtr 的具體實(shí)現(xiàn)。</p><p> 關(guān)鍵字:Java、文本編輯器MyTxt&
4、lt;/p><p> 引言:設(shè)計實(shí)現(xiàn)一個Java 應(yīng)用程序的過程如下:</p><p> (1)功能需求分析。</p><p> ?。?)設(shè)計和類劃分。</p><p> ?。?)代碼編寫實(shí)現(xiàn)。</p><p> 本文就按照這個步驟來實(shí)現(xiàn)文本編輯器MyTxt 的制作。</p><p><
5、b> 正文:</b></p><p> 1、MyTxt 功能需求分析</p><p> 作為文本編輯器,至少應(yīng)該具備以下幾種功能:</p><p> ?。?)所見即所得的文本輸入。</p><p> (2)方便的選中文本、復(fù)制文本、刪除文本、插入文本的功能。</p><p> ?。?)方便的查
6、找指定文字、替換文字的功能。</p><p><b> ?。?)打印功能。</b></p><p> ?。?)簡單的排版功能,如設(shè)置字體、字號等。</p><p> 另外,還要求MyTxt 實(shí)現(xiàn)一個稱為“經(jīng)典視圖Classic View”的功能,用以使用經(jīng)典仿Terminal</p><p><b> 形式
7、的界面。</b></p><p> 2、 MyTxt 基本設(shè)計思路和類劃分</p><p> 基于第1 節(jié)中提出對于 MyTxt 功能需求的分析,對這個應(yīng)用程序設(shè)計劃分類如下:</p><p> ?。?)MyTxt:這個類作為主類,實(shí)現(xiàn)主要功能,并實(shí)現(xiàn)圖形用戶界面。</p><p> ?。?)MenuColor:這個類用來實(shí)現(xiàn)
8、文字顏色的編輯功能。</p><p> (3)MenuFont:這個類用來實(shí)現(xiàn)文字字體、字號的編輯功能。</p><p> ?。?)PrintableTextArea:這個類將實(shí)現(xiàn)TextArea 的功能,并使得文字可以打印輸出。</p><p> 3、 MyTxt 的具體實(shí)現(xiàn)</p><p> 3.1、 MyTxt 類的設(shè)計</
9、p><p> MyTxt 類實(shí)現(xiàn)整體功能,包括窗體的初始化、各種用戶事件監(jiān)聽和響應(yīng)(編輯、保存、打</p><p><b> 開等等)。</b></p><p> 1. 父類和主要接口</p><p> 設(shè)計 MyTxt 整個窗體特性繼承自JFrame 類。</p><p> 為了對用戶命令
10、做出響應(yīng)(如保存文件),MyTxt 類必須能夠監(jiān)聽到用戶的命令,因此設(shè)計</p><p> MyTxt 類實(shí)現(xiàn)ActionListener 接口。</p><p> 為了對用戶的鍵盤操作(即編輯輸入事件)做出響應(yīng),MyTxt 類必須能夠監(jiān)聽到鍵盤敲擊</p><p> 事件,因此設(shè)計MyTxt 類實(shí)現(xiàn)KeyListener 接口。</p><
11、;p> MyTxt 還將實(shí)現(xiàn)一個狀態(tài)顯示欄。</p><p> 此外為了提供一個可以撤消的操作,為MyTxt 添加一個類本身實(shí)現(xiàn)接口。</p><p><b> 2. 主要方法</b></p><p> 下面以表格的形式列出MyTxt 類至少應(yīng)該具有的方法和各自的功能描述(如表1 所示)。</p><p>
12、 表 1 MyTxt 類的主要方法</p><p><b> 方法 功能描述</b></p><p> static void main(String args[]) MyTxt 應(yīng)用程序的入口</p><p> 重載ActionListener 接口中的方法,用于對用戶</p><p> 命令進(jìn)行響應(yīng),用戶命
13、令包括“保存”、“打開”、</p><p><b> “關(guān)閉”、“打印”</b></p><p> void keyTyped(KeyEvent e) 重載KeyListener 接口中的方法,用于對用戶鍵</p><p> 盤按下操作進(jìn)行響應(yīng),寫入相應(yīng)的字符到編輯器</p><p><b> 3. 基
14、本效果</b></p><p> 圖 1 為MyTxt 的基本效果圖。</p><p> 圖 1 MyTxt 的基本效果圖</p><p><b> 4. 代碼分析</b></p><p> import java.awt.*;</p><p> import java.aw
15、t.event.*;</p><p> import javax.swing.*;</p><p> import javax.swing.event.*;</p><p> import java.io.*;</p><p> import java.awt.font.*;</p><p> import
16、javax.swing.undo.UndoManager;</p><p> public class MyTxt</p><p><b> { </b></p><p> public static void main(String[] args)</p><p><b> { </b>&
17、lt;/p><p> Aframe frame = new Aframe();</p><p> frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</p><p> frame.show();</p><p><b> }</b></p><
18、;p><b> }</b></p><p> class Aframe extends JFrame</p><p><b> {</b></p><p> public Aframe()</p><p><b> {</b></p><p&
19、gt; setTitle("記事本");</p><p> setSize(WIDTH, HEIGHT);</p><p> Container contentPane = getContentPane();</p><p> JPanel txtPanel = new JPanel();</p><p> JP
20、anel comboxPanel = new JPanel();</p><p> JPanel textPanel = new JPanel();</p><p> txtArea=new JTextArea("",17,40);</p><p> JScrollPane scrollPane =new JScrollPane(txtAr
21、ea);</p><p> txtPanel.add(scrollPane);</p><p> contentPane.add(comboxPanel,BorderLayout.NORTH);</p><p> contentPane.add(txtPanel);</p><p> contentPane.add(textPanel
22、,BorderLayout.SOUTH);</p><p> //Caidan lan:添加主菜單并設(shè)置快捷鍵</p><p> JMenuBar menuBar =new JMenuBar();</p><p> setJMenuBar(menuBar);</p><p> fileMenu=new JMenu("文件(F
23、)");</p><p> editMenu=new JMenu("編輯(E)");</p><p> typeMenu=new JMenu("格式(O)");</p><p> viewMenu=new JMenu("查看(V)");</p><p> helpM
24、enu=new JMenu("幫助(H)");</p><p> aboutMenu=new JMenu("關(guān)于(A)");</p><p> fileMenu.setMnemonic('F');</p><p> editMenu.setMnemonic('E');</p>
25、<p> typeMenu.setMnemonic('O');</p><p> viewMenu.setMnemonic('V');</p><p> helpMenu.setMnemonic('H');</p><p> aboutMenu.setMnemonic('A');&l
26、t;/p><p> menuBar.add(fileMenu);</p><p> menuBar.add(editMenu);</p><p> menuBar.add(typeMenu);</p><p> menuBar.add(viewMenu);</p><p> menuBar.add(aboutMe
27、nu);</p><p> menuBar.add(helpMenu);</p><p> //wenjian“文件”菜單的子菜單添加以及設(shè)置加速器,監(jiān)聽器</p><p> aa=fileMenu.add(new ShowAction("新建"));</p><p> aa.setAccelerator(KeyS
28、troke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));</p><p> ab=fileMenu.add(new ShowAction("打開"));</p><p> ab.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL
29、_MASK));</p><p> ac=fileMenu.add(new ShowAction("保存"));</p><p> ac.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));</p><p> ad=fileMenu.add(n
30、ew ShowAction("另存為"));</p><p> ad.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));</p><p> fileMenu.addSeparator();</p><p> ae=fileMenu.add(n
31、ew ShowAction("頁面設(shè)置"));</p><p> ae.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));</p><p> af=fileMenu.add(new ShowAction("打印"));</p><
32、;p> af.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));</p><p> fileMenu.addSeparator();//分割線</p><p> ag=fileMenu.add(new ShowAction("退出"));</p>
33、<p> ag.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));</p><p> //bianji“編輯”菜單的子菜單添加以及設(shè)置加速器,監(jiān)聽器</p><p> ah=editMenu.add(new ShowAction("撤消"));</
34、p><p> editMenu.addSeparator();</p><p> ah.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK));</p><p> ai=editMenu.add(new ShowAction("剪切"));</p
35、><p> ai.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));</p><p> aj=editMenu.add(new ShowAction("復(fù)制"));</p><p> aj.setAccelerator(KeyStroke.get
36、KeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));</p><p> an=editMenu.add(new ShowAction("粘貼"));</p><p> an.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));&
37、lt;/p><p> ak=editMenu.add(new ShowAction("刪除"));</p><p> ak.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L,InputEvent.CTRL_MASK));</p><p> editMenu.addSeparator();&l
38、t;/p><p> al=editMenu.add(new ShowAction("查找"));</p><p> al.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));</p><p> am=editMenu.add(new ShowAct
39、ion("全選"));</p><p> am.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));</p><p> //geshi“格式”菜單的子菜單添加以及設(shè)置加速器,監(jiān)聽器</p><p> zdhh=new JMenu("自
40、動換行(L)");</p><p> zdhh.setMnemonic('L');</p><p> typeMenu.add(zdhh);</p><p> ButtonGroup group =new ButtonGroup();</p><p> xz=new JRadioButtonMenuItem(
41、"選擇");</p><p> xz.addActionListener(new ShowAction("選擇"));</p><p> xz.setSelected(true);</p><p> qxxz=new JRadioButtonMenuItem("取消");</p><
42、;p> qxxz.addActionListener(new ShowAction("取消"));</p><p> qxxz.setSelected(true);</p><p> group.add(xz);group.add(qxxz);</p><p> zdhh.add(xz);zdhh.add(qxxz);</p&
43、gt;<p> bj=typeMenu.add(new ShowAction("背景顏色"));</p><p> bj.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));</p><p> zt=typeMenu.add(new ShowAction
44、("字體"));</p><p> zt.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));</p><p> //字體彈出框中的“確定”按鈕</p><p> que=new Button("確定");</p>
45、;<p> que.addActionListener(new boxlistener()); </p><p> //chakan“查看”菜單的子菜單添加以及設(shè)置加速器,監(jiān)聽器</p><p> ztl=viewMenu.add(new ShowAction("狀態(tài)欄"));</p><p> ztl.setAccele
46、rator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));</p><p> //guanyu“關(guān)于”菜單的子菜單添加以及設(shè)置加速器,監(jiān)聽器</p><p> zzxx=aboutMenu.add(new ShowAction("作者信息"));</p><p> z
47、zxx.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));</p><p> bq=aboutMenu.add(new ShowAction("版權(quán)"));</p><p> bq.setAccelerator(KeyStroke.getKeyStroke(KeyEv
48、ent.VK_B,InputEvent.CTRL_MASK));</p><p> sm=aboutMenu.add(new ShowAction("聲明"));</p><p> sm.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));</p><
49、;p> //bangzhu“幫助”菜單的子菜單添加以及設(shè)置加速器,監(jiān)聽器</p><p> shm=helpMenu.add(new ShowAction("說明"));</p><p> shm.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));</p
50、><p> //文本框底部工具欄的設(shè)置</p><p> toolbar2=new JToolBar();</p><p> textPanel.add(toolbar2);</p><p> text1=new JTextField("就緒",10);</p><p> text2=new
51、 JTextField("歡迎使用該記事本!",10);</p><p> text3=new JTextField("",10);</p><p> text4=new JTextField("",10);</p><p> textPanel.setLayout(new GridLayout
52、(1, 4));</p><p> toolbar2.add(text1);</p><p> toolbar2.add(text2);</p><p> toolbar2.add(text3);</p><p> toolbar2.add(text4);</p><p> text1.setEditable
53、(false);</p><p> text2.setEditable(false);</p><p> text3.setEditable(false);</p><p> text4.setEditable(false);</p><p><b> //組合框的設(shè)置</b></p><p&
54、gt;<b> //字體</b></p><p> zitiLabel=new JLabel("字體");comboxPanel.add(zitiLabel);</p><p> String zit[]={"宋體","華文行楷","楷體","黑體","
55、幼圓","華文琥珀"};</p><p> zitibox=new JComboBox(zit);</p><p> comboxPanel.add(zitibox);</p><p><b> //顏色</b></p><p> yanseLabel=new JLabel(&quo
56、t;顏色");comboxPanel.add(yanseLabel);</p><p> String yans[]={"黑色","藍(lán)色","綠色","紅色","黃色","藍(lán)綠色","淺灰色","白色"};</p><p&g
57、t; yansebox=new JComboBox(yans);</p><p> comboxPanel.add(yansebox);</p><p><b> //大小</b></p><p> daxiaoLabel=new JLabel("大小");comboxPanel.add(daxiaoLabel);&
58、lt;/p><p> String dax[]={"15","10","5","20","25","30","35","40","..."};</p><p> daxiaobox=new JComboBox(d
59、ax);</p><p> comboxPanel.add(daxiaobox);</p><p> zitibox.setEditable(true);</p><p> yansebox.setEditable(true);</p><p> daxiaobox.setEditable(true);</p><
60、p> comboxPanel.setLayout(new FlowLayout(FlowLayout.LEFT));//靠左排列</p><p> //組合框注冊監(jiān)聽器</p><p> yansebox.addActionListener(new boxlistener());</p><p> zitibox.addActionListener(n
61、ew boxlistener());</p><p> daxiaobox.addActionListener(new boxlistener());</p><p> txtPanel.setLayout(new GridLayout(1, 1));</p><p><b> //實(shí)例化“撤銷”</b></p><p
62、> um= new UndoManager ();</p><p> txtArea.getDocument().addUndoableEditListener(um);</p><p><b> }</b></p><p> //菜單欄的接口實(shí)現(xiàn)</p><p> private class ShowA
63、ction extends AbstractAction</p><p><b> {</b></p><p> public ShowAction(String name){super(name);}</p><p> public void actionPerformed(ActionEvent e)</p><p
64、><b> {</b></p><p> Object s=e.getSource();</p><p><b> //新建</b></p><p><b> if(s==aa)</b></p><p><b> {</b></p&g
65、t;<p> if(txtArea.getText().equals(""))</p><p><b> {</b></p><p> txtArea.setText("");</p><p><b> }</b></p><p><
66、;b> else{</b></p><p> int n=JOptionPane.showConfirmDialog(Aframe.this, "無標(biāo)題記事本已改變。\n想要保存嗎?","記事本",JOptionPane.YES_NO_CANCEL_OPTION);</p><p> if(n==JOptionPane.NO_
67、OPTION){</p><p> txtArea.setText("");</p><p> setTitle("無標(biāo)題"+"——"+"記事本");</p><p><b> } </b></p><p> else if(
68、n==JOptionPane.YES_OPTION)</p><p><b> {</b></p><p> save.setVisible(true); </p><p> String name=save.getDirectory()+save.getFile();</p><p><b> tr
69、y</b></p><p><b> {</b></p><p> FileOutputStream out=new FileOutputStream(name);</p><p> out.write(txtArea.getText().getBytes());</p><p> out.close
70、();</p><p><b> }</b></p><p> catch(IOException a)</p><p><b> {</b></p><p> System.err.println("保存失敗。。!");</p><p><
71、b> }</b></p><p><b> } </b></p><p><b> }</b></p><p><b> } </b></p><p><b> //打開</b></p><p>
72、<b> if(s==ab)</b></p><p><b> {</b></p><p> open.setVisible(true);</p><p> String name=open.getDirectory()+open.getFile();</p><p> String na
73、me2=open.getFile();</p><p> setTitle(name2);</p><p><b> try</b></p><p><b> {</b></p><p> FileInputStream in=new FileInputStream(name);</p
74、><p> byte[] ia=new byte[in.available()];</p><p> in.read(ia);</p><p> txtArea.setText(new String(ia));</p><p> in.close();</p><p><b> }</b>&
75、lt;/p><p> catch(IOException a)</p><p><b> {</b></p><p> System.err.println("獲取文件失敗!");</p><p><b> }</b></p><p><b>
76、; }</b></p><p><b> //另存為</b></p><p><b> if(s==ad)</b></p><p><b> {</b></p><p> save.setVisible(true); </p><p&
77、gt; String name=save.getDirectory()+save.getFile();</p><p><b> try</b></p><p><b> {</b></p><p> FileOutputStream out=new FileOutputStream(name);</p>
78、;<p> out.write(txtArea.getText().getBytes());</p><p> out.close();</p><p><b> }</b></p><p> catch(IOException a)</p><p><b> {</b>&l
79、t;/p><p> System.err.println("保存失敗。。!");</p><p><b> }</b></p><p> shifulingcun=1;</p><p><b> }</b></p><p><b> //保
80、存</b></p><p><b> if(s==ac)</b></p><p><b> {</b></p><p> if(shifulingcun!=1)</p><p> {save.setVisible(true);}</p><p> Str
81、ing name=save.getDirectory()+save.getFile();</p><p><b> try</b></p><p><b> {</b></p><p> FileOutputStream out=new FileOutputStream(name);</p><p
82、> out.write(txtArea.getText().getBytes());</p><p> out.close();</p><p><b> }</b></p><p> catch(IOException b)</p><p><b> {</b></p>
83、<p> System.err.println("保存文件失敗");</p><p><b> }</b></p><p><b> } </b></p><p><b> //退出</b></p><p><b>
84、; if(s==ag)</b></p><p><b> {</b></p><p> int selection = JOptionPane.showConfirmDialog(</p><p> Aframe.this,</p><p> "確定退出么?", "退出
85、?",</p><p> JOptionPane.OK_CANCEL_OPTION,</p><p> JOptionPane.WARNING_MESSAGE);</p><p> if (selection == JOptionPane.OK_OPTION)</p><p><b> {</b><
86、;/p><p> System.exit(0);</p><p><b> }</b></p><p><b> }</b></p><p><b> //選擇自動換行</b></p><p><b> if(s==xz)</b&g
87、t;</p><p><b> {</b></p><p> txtArea.setLineWrap(true);</p><p><b> }</b></p><p><b> //取消自動換行</b></p><p> if(s==qxxz
88、)</p><p><b> {</b></p><p> txtArea.setLineWrap(false);</p><p><b> }</b></p><p><b> //背景顏色</b></p><p><b> if(
89、s==bj)</b></p><p><b> {</b></p><p> Color color=JColorChooser.showDialog(Aframe.this, "調(diào)色板", txtArea.getBackground());</p><p> if(color!=null)</p&g
90、t;<p> txtArea.setBackground(color);</p><p><b> }</b></p><p><b> //作者信息</b></p><p> if (s==zzxx)</p><p> {int selection = JOptionPan
91、e.showConfirmDialog(</p><p> Aframe.this,</p><p> "“記事本”編寫員:顧懷旭","作者信息",</p><p> JOptionPane.DEFAULT_OPTION);</p><p><b> }</b></p
92、><p><b> //版權(quán)</b></p><p> if (s==bq)</p><p> {int selection = JOptionPane.showConfirmDialog(</p><p> Aframe.this,</p><p> "版權(quán)所有,盜版必究!&qu
93、ot;,"版權(quán)",</p><p> JOptionPane.DEFAULT_OPTION);</p><p><b> }</b></p><p><b> //聲明</b></p><p> if (s==sm)</p><p> {int
94、selection = JOptionPane.showConfirmDialog(</p><p> Aframe.this,</p><p> "該程序僅用于交實(shí)驗(yàn)報告和實(shí)踐交流","聲明",</p><p> JOptionPane.DEFAULT_OPTION);</p><p><
95、b> }</b></p><p><b> //說明</b></p><p> if (s==shm)</p><p> {int selection = JOptionPane.showConfirmDialog(</p><p> Aframe.this,</p><p
96、> "由于種種原因,該版本記事本還存在很多缺陷,我將在以后的工作中予以改進(jìn)","說明",</p><p> JOptionPane.DEFAULT_OPTION);</p><p><b> }</b></p><p><b> //剪切復(fù)制粘貼</b></p&g
97、t;<p> if (s==ai|| s==cutTtem)</p><p><b> {</b></p><p> txtArea.cut();</p><p><b> }</b></p><p> if (s==aj)</p><p><b
98、> {</b></p><p> txtArea.copy();</p><p><b> }</b></p><p> if (s==an)</p><p><b> {</b></p><p> txtArea.paste();</p&
99、gt;<p><b> }</b></p><p><b> //刪除</b></p><p> if(s==ak) </p><p><b> { </b></p><p> txtArea.replaceRange("",
100、 txtArea.getSelectionStart(), txtArea.getSelectionEnd()); </p><p><b> } </b></p><p><b> //全選</b></p><p> if (s==am) </p><p><b> {
101、</b></p><p> txtArea.selectAll();</p><p><b> }</b></p><p><b> //撤銷</b></p><p><b> if(s==ah)</b></p><p><b&
102、gt; {</b></p><p> um.undo();</p><p><b> }</b></p><p><b> //字體</b></p><p> if (s==zt)</p><p><b> {</b></p
103、><p> tishi.setFont(new Font("華文行楷",1,15));</p><p> tanchu.setLocation(300,250);</p><p> tanchu.setSize(200,150);</p><p> tanchu.setTitle("字體設(shè)置");
104、</p><p> tanchu.setLayout(new GridLayout(2,2,2,2));</p><p> tanchu.add(tishi);</p><p> tanchu.add(daxiaobox);</p><p> tanchu.add(que);</p><p> tanchu.
105、add(zitibox);</p><p> tanchu.setVisible(true);</p><p><b> }</b></p><p><b> //狀態(tài)欄</b></p><p> aaaaa.setText("當(dāng)前字體是"+ff+"顏色是&qu
106、ot;+zzz+"大小是"+kk);</p><p> if (s==ztl)</p><p><b> {</b></p><p> tanchu.setLocation(300,250);</p><p> tanchu.setSize(300,150);</p><p
107、> tanchu.setTitle("當(dāng)前狀態(tài)"); </p><p> tanchu.setLayout(new GridLayout(2,2,2,2));</p><p> aaaaa.setEditable(false);</p><p> tanchu.add(aaaaa);</p><p> ta
108、nchu.add(que);</p><p> tanchu.setVisible(true);</p><p><b> }</b></p><p><b> //查</b></p><p><b> }</b></p><p><b&g
109、t; }</b></p><p> //組合框的接口實(shí)現(xiàn)</p><p> private class boxlistener implements ActionListener</p><p><b> {</b></p><p> public void actionPerformed(Acti
110、onEvent ee)</p><p><b> {</b></p><p> Object ss=yansebox.getSelectedItem();</p><p> Object zz=zitibox.getSelectedItem();</p><p> Object dx=daxiaobox.getS
111、electedItem();</p><p> String tr=(String)ss;</p><p> String tz=(String)zz;</p><p> String td=(String)dx;</p><p> //字體菜單中彈出菜單“確定”的響應(yīng)</p><p> if (ee.get
112、Source()==que){</p><p> tanchu.dispose();</p><p><b> }</b></p><p><b> //顏色</b></p><p> if(tr=="紅色"){</p><p> txtArea
113、.setForeground(Color.red);</p><p><b> zzz="紅色";</b></p><p><b> }</b></p><p> if(tr=="黑色"){</p><p> txtArea.setForeground
114、(Color.black);</p><p><b> zzz="黑色";</b></p><p><b> }</b></p><p> if(tr=="綠色"){</p><p> txtArea.setForeground(Color.green
115、);</p><p><b> zzz="綠色";</b></p><p><b> }</b></p><p> if(tr=="藍(lán)色"){</p><p> txtArea.setForeground(Color.blue);</p>
116、<p><b> zzz="藍(lán)色";</b></p><p><b> }</b></p><p> if(tr=="黃色"){</p><p> txtArea.setForeground(Color.yellow);</p><p>&
117、lt;b> zzz="黃色";</b></p><p><b> }</b></p><p> if(tr=="藍(lán)綠色"){</p><p> txtArea.setForeground(Color.cyan);</p><p> zzz="藍(lán)
118、綠色";</p><p><b> }</b></p><p> if(tr=="淺灰色"){</p><p> txtArea.setForeground(Color.lightGray);</p><p> zzz="淺灰色";</p><
119、p><b> } </b></p><p> if(tr=="白色")</p><p><b> {</b></p><p> txtArea.setForeground(Color.white);</p><p><b> zzz="白色&
120、quot;;</b></p><p><b> }</b></p><p><b> //字體</b></p><p> if(tz=="華文行楷"){</p><p> Font f=txtArea.getFont();</p><p&g
121、t; txtArea.setFont(new Font("華文行楷",f.getStyle(),f.getSize()));</p><p> ff="華文行楷";</p><p><b> }</b></p><p> if(tz=="楷體"){</p><
122、;p> Font f=txtArea.getFont();</p><p> txtArea.setFont(new Font("楷體",f.getStyle(),f.getSize()));</p><p><b> ff="楷體";</b></p><p><b> }<
123、/b></p><p> if(tz=="宋體"){</p><p> Font f=txtArea.getFont();</p><p> txtArea.setFont(new Font("宋體",f.getStyle(),f.getSize()));</p><p><b>
124、 ff="宋體";</b></p><p><b> }</b></p><p> if(tz=="黑體"){</p><p> Font f=txtArea.getFont();</p><p> txtArea.setFont(new Font("
125、;黑體",f.getStyle(),f.getSize()));</p><p><b> ff="黑體";</b></p><p><b> }</b></p><p> if(tz=="幼圓"){ </p><p> Font f=txt
126、Area.getFont();</p><p> txtArea.setFont(new Font("幼圓",f.getStyle(),f.getSize()));</p><p><b> ff="幼圓";</b></p><p><b> }</b></p>
127、<p> if(tz=="華文琥珀"){ </p><p> Font f=txtArea.getFont();</p><p> txtArea.setFont(new Font("華文琥珀",f.getStyle(),f.getSize()));</p><p> ff="華文琥珀";
128、</p><p><b> }</b></p><p><b> //大小</b></p><p> if(td=="5"){</p><p> Font f=txtArea.getFont();</p><p> txtArea.setFont
129、(new Font(f.getName(),f.getStyle(),5));</p><p><b> kk="5";</b></p><p><b> }</b></p><p> if(td=="10"){</p><p> Font f=txt
130、Area.getFont();</p><p> txtArea.setFont(new Font(f.getName(),f.getStyle(),10));</p><p><b> kk="10";</b></p><p><b> }</b></p><p> i
131、f(td=="15"){</p><p> Font f=txtArea.getFont();</p><p> txtArea.setFont(new Font(f.getName(),f.getStyle(),15));</p><p><b> kk="15";</b></p>
132、<p><b> }</b></p><p> if(td=="20"){</p><p> Font f=txtArea.getFont();</p><p> txtArea.setFont(new Font(f.getName(),f.getStyle(),20));</p><p
133、><b> kk="20";</b></p><p><b> }</b></p><p> if(td=="25"){</p><p> Font f=txtArea.getFont();</p><p> txtArea.setFont(n
134、ew Font(f.getName(),f.getStyle(),25));</p><p><b> kk="25";</b></p><p><b> }</b></p><p> if(td=="30"){</p><p> Font f=txt
135、Area.getFont();</p><p> txtArea.setFont(new Font(f.getName(),f.getStyle(),30));</p><p><b> kk="30";</b></p><p><b> }</b></p><p> i
136、f(td=="35"){</p><p> Font f=txtArea.getFont();</p><p> txtArea.setFont(new Font(f.getName(),f.getStyle(),35));</p><p><b> kk="35";</b></p>
137、<p><b> }</b></p><p> if(td=="40"){</p><p> Font f=txtArea.getFont();</p><p> txtArea.setFont(new Font(f.getName(),f.getStyle(),40));</p><p
138、><b> kk="40";</b></p><p><b> }</b></p><p><b> }</b></p><p><b> } </b></p><p> public static final int
139、WIDTH = 550;</p><p> public static final int HEIGHT = 450;</p><p> JTextArea txtArea;</p><p> JMenu fileMenu,editMenu,typeMenu,viewMenu,helpMenu,aboutMenu;</p><p>
140、JMenuItem aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,zdhh,zt,ztl,zzxx,bq,sm,shm,bj,cutTtem;</p><p> JComboBox zitibox,yansebox,daxiaobox;</p><p> JLabel zitiLabel,yanseLabel,daxiaoLabel;</p&
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計--文本編輯器
- java課程設(shè)計---文本編輯器
- java課程設(shè)計---文本編輯器
- java課程設(shè)計(文本編輯器)
- 文本編輯器_java課程設(shè)計實(shí)驗(yàn)報告
- java課程設(shè)計報告-- 文本編輯器的設(shè)計與實(shí)現(xiàn)
- 文本編輯器課程設(shè)計報告
- 文本編輯器課程設(shè)計
- 簡易文本編輯器課程設(shè)計報告
- vb課程設(shè)計報告----文本編輯器
- vb課程設(shè)計報告---文本編輯器
- 軟件工程課程設(shè)計--基于java的多頁面文本編輯器
- vb課程設(shè)計文本編輯器
- 虛擬的java編輯器課程設(shè)計報告
- c語言課程設(shè)計--文本編輯器
- c_文本編輯器課程設(shè)計
- visual_basic課程設(shè)計報告---文本編輯器
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--文本編輯器
- 操作系統(tǒng)課程設(shè)計---文本編輯器
- 微機(jī)原理課程設(shè)計—簡易文本編輯器
評論
0/150
提交評論