[多項(xiàng)選擇題] 本程序的功能是監(jiān)聽對(duì)于菜單項(xiàng)和工具條按鈕的操作。主窗口中有菜單、工具條和一個(gè)文字標(biāo)簽,菜單中有“文件”項(xiàng),“文件”菜單中包括菜單項(xiàng)“新建”、“保
[多項(xiàng)選擇題] 本程序的功能是監(jiān)聽對(duì)于菜單項(xiàng)和工具條按鈕的操作。主窗口中有菜單、工具條和一個(gè)文字標(biāo)簽,菜單中有“文件”項(xiàng),“文件”菜單中包括菜單項(xiàng)“新建”、“保存”、“打印”、“頁面設(shè)置”和“退出”,工具條上包括按鈕“新建”、“保存”、“打印”、“頁面設(shè)置”和“退出”。單擊任何一個(gè)菜單項(xiàng)或任何一個(gè)工具條按鈕,文字標(biāo)簽都會(huì)顯示哪個(gè)構(gòu)件被選中。請(qǐng)更正題中帶下劃線的部分。運(yùn)行結(jié)果如下圖所示。
注意:不改變程序的結(jié)構(gòu),不得增行或刪行。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class advance extends JFrame
private JLabel actionlnfo;
public advance(String titleText)
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);super(titleText);
actionInfo=new JLabel("事件信息");
JToolBar tb=new JTooBar();
Menu file=new Menu( "文件" );
JMenuBar mb=new JMenuBar();
mb.add(file);
NewAction na=new NewAction(actionInfo);
file.add(na);
tb.add(na);
SaveAction sa=new S
正確答案:setTitle(titleText) JMenu file=new JMenu("文件") cp.add(tb,BorderLayout.NORTH)或cp.add("North",tb)
參考解析:[講解] 本題考查知識(shí)點(diǎn):類的繼承、AWT和Swing的區(qū)別、布局管理器的使用。解題思路:程序中聲明了一個(gè)菜單構(gòu)件、一個(gè)工具欄構(gòu)件,聲明了5個(gè)事件添加到菜單和工具欄中。子類繼承父類以后,可以調(diào)用父類的public、protected成員變量和成員方法。子類還可以使用變量super,訪問已經(jīng)被隱藏或被覆蓋了的父類成員變量和方法。題中,JFrame帶一個(gè)參數(shù)的構(gòu)造方法已經(jīng)被子類advance的構(gòu)造方法覆蓋。原題打算使用super調(diào)用父類的構(gòu)造方法,為框架添加變量titleText定義的名字。這樣的操作可以實(shí)現(xiàn),但是super變量要求必須寫在其所在的方法的第一行,而本題中super變量前還有語句setDefaultCloseOperation。因此在第1條下劃線的位置不能使用super,只能調(diào)用set Title()方法,該方法可以為框架設(shè)置名字。file是一個(gè)AWT構(gòu)件Menu的對(duì)象,而它所在的容器mb是一個(gè)Swing的JMenuBar對(duì)象,兩類不同的構(gòu)件,實(shí)現(xiàn)的方法不一樣,不能使用add方法進(jìn)行添加。因此在第2條下劃線處需要把file的類型改為JMenu。容器定義了BorderLayout布局管理器以后,如果添加構(gòu)件時(shí)不指明添加的位置,則會(huì)把該構(gòu)件添加到Center的位置。由于本題中不需要把名為actionInfo的JLabel構(gòu)件添加到Center的位置,所以在第3條下劃線處,添加tb構(gòu)件時(shí)必須指明位置參數(shù)。本題答案中根據(jù)習(xí)慣把工具欄添加到容器的頂部,當(dāng)然,添加到容器的South、East或West位置也都正確。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。