[問答題] 以下程序是一個(gè)簡單文本處理器,菜單項(xiàng)可以打開、編輯、保存一個(gè)文件。文件內(nèi)容顯示在下面的文本區(qū)域中(提示,打開文件通過文件選擇器來完成)。請(qǐng)改正程序中
[問答題] 以下程序是一個(gè)簡單文本處理器,菜單項(xiàng)可以打開、編輯、保存一個(gè)文件。文件內(nèi)容顯示在下面的文本區(qū)域中(提示,打開文件通過文件選擇器來完成)。請(qǐng)改正程序中的錯(cuò)誤(有下劃線的語句),使程序能輸出正確的結(jié)果。運(yùn)行結(jié)果如下圖所示。
注意:不改動(dòng)程序的結(jié)構(gòu),不得增行或刪行。
import java.awt.*;
import java.awt.event.*;
import java.io.* ;
import javax.swing.*;
class FileFrame extends JFrame
File file;
JTextPane textpane;
FileInputStream readStream;
JScrollPane scroll;
public FileFrame()
super ("文件瀏覽");
JMenu fileM = new JMenu("文件");
OpenAction open = new OpenAction ();
SaveAction clear = new SaveAction ();
ExitAction exit = new ExitAction();
JMenuBar mb = new JMenuBar();
fileM.add(open);
fileM.add(clear);
fileM.add(exit);
mb.add(fileM);
textpane=new JTextPane();
scroll=new
正確答案:①setJMenuBar(mb)②file=chooser.getSelectedFile()③out.write(textpane.getText())
參考解析:構(gòu)造方法FileFrame()中初始化了程序界面,菜單“fileM”中添加了3個(gè)菜單項(xiàng)“打開”、“保存”和“退出”,并為這3個(gè)菜單項(xiàng)添加了相應(yīng)的事件?!皌extpane”是一個(gè)文本編輯面板,其上可以顯示和修改文本。openAction類定義了用戶選擇“打開”菜單的事件。用戶選擇“打開”,程序向用戶顯示文件選擇器“chooser”,使用戶通過圖形化的方式選擇文件。根據(jù)用戶選擇的結(jié)果,生成File類的實(shí)例“file”。語句“textpane.read(readStream,this)”讀取文件內(nèi)容并顯示在“textpane”中。 SaveAction定義了用戶選擇“保存”菜單的事件。在SaveAction類中,程序調(diào)用FileWriter的寫文件方法將“textpane”中的內(nèi)容輸出到文件中。玻璃面板(glassPane)、內(nèi)容面板(contentPane)、菜單條(JMenuBar)共同組成根面板。getContentPane()獲得的是頂層容器的內(nèi)容面板而不是根面板,所以不能在其中添加菜單條。因此第 1 條下劃線處應(yīng)該改為 setJMenuBar(mb),將“mb”設(shè)置為根面板的菜單條。第2處和第3處改錯(cuò),主要考查對(duì)文件選擇和文件輸出的基本操作的掌握情況。這些常用的類和常用的方法只有在多次練習(xí)之后才能熟練掌握。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。