![[多项选择题] 本程序的功能是监听对于菜单项和工具条按钮的 *** 作。主窗口中有菜单、工具条和一个文字标签,菜单中有“文件”项,“文件”菜单中包括菜单项“新建”、“保存”、“打印”、“页面设置”和“退出”,,第1张 [多项选择题] 本程序的功能是监听对于菜单项和工具条按钮的 *** 作。主窗口中有菜单、工具条和一个文字标签,菜单中有“文件”项,“文件”菜单中包括菜单项“新建”、“保存”、“打印”、“页面设置”和“退出”,,第1张](/aiimages/%5B%E5%A4%9A%E9%A1%B9%E9%80%89%E6%8B%A9%E9%A2%98%5D+%E6%9C%AC%E7%A8%8B%E5%BA%8F%E7%9A%84%E5%8A%9F%E8%83%BD%E6%98%AF%E7%9B%91%E5%90%AC%E5%AF%B9%E4%BA%8E%E8%8F%9C%E5%8D%95%E9%A1%B9%E5%92%8C%E5%B7%A5%E5%85%B7%E6%9D%A1%E6%8C%89%E9%92%AE%E7%9A%84%E6%93%8D%E4%BD%9C%E3%80%82%E4%B8%BB%E7%AA%97%E5%8F%A3%E4%B8%AD%E6%9C%89%E8%8F%9C%E5%8D%95%E3%80%81%E5%B7%A5%E5%85%B7%E6%9D%A1%E5%92%8C%E4%B8%80%E4%B8%AA%E6%96%87%E5%AD%97%E6%A0%87%E7%AD%BE%EF%BC%8C%E8%8F%9C%E5%8D%95%E4%B8%AD%E6%9C%89%E2%80%9C%E6%96%87%E4%BB%B6%E2%80%9D%E9%A1%B9%EF%BC%8C%E2%80%9C%E6%96%87%E4%BB%B6%E2%80%9D%E8%8F%9C%E5%8D%95%E4%B8%AD%E5%8C%85%E6%8B%AC%E8%8F%9C%E5%8D%95%E9%A1%B9%E2%80%9C%E6%96%B0%E5%BB%BA%E2%80%9D%E3%80%81%E2%80%9C%E4%BF%9D%E5%AD%98%E2%80%9D%E3%80%81%E2%80%9C%E6%89%93%E5%8D%B0%E2%80%9D%E3%80%81%E2%80%9C%E9%A1%B5%E9%9D%A2%E8%AE%BE%E7%BD%AE%E2%80%9D%E5%92%8C%E2%80%9C%E9%80%80%E5%87%BA%E2%80%9D%EF%BC%8C.png)
[多项选择题] 本程序的功能是监听对于菜单项和工具条按钮的 *** 作。主窗口中有菜单、工具条和一个文字标签,菜单中有“文件”项,“文件”菜单中包括菜单项“新建”、“保存”、“打印”、“页面设置”和“退出”,工具条上包括按钮“新建”、“保存”、“打印”、“页面设置”和“退出”。单击任何一个菜单项或任何一个工具条按钮,文字标签都会显示哪个构件被选中。请更正题中带下划线的部分。运行结果如下图所示。
注意:不改变程序的结构,不得增行或删行。
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)
参考解析:[讲解] 本题考查知识点:类的继承、AWT和Swing的区别、布局管理器的使用。解题思路:程序中声明了一个菜单构件、一个工具栏构件,声明了5个事件添加到菜单和工具栏中。子类继承父类以后,可以调用父类的public、protected成员变量和成员方法。子类还可以使用变量super,访问已经被隐藏或被覆盖了的父类成员变量和方法。题中,Jframe带一个参数的构造方法已经被子类advance的构造方法覆盖。原题打算使用super调用父类的构造方法,为框架添加变量titleText定义的名字。这样的 *** 作可以实现,但是super变量要求必须写在其所在的方法的第一行,而本题中super变量前还有语句setDefaultCloseOperation。因此在第1条下划线的位置不能使用super,只能调用set Title()方法,该方法可以为框架设置名字。file是一个AWT构件Menu的对象,而它所在的容器mb是一个Swing的JMenuBar对象,两类不同的构件,实现的方法不一样,不能使用add方法进行添加。因此在第2条下划线处需要把file的类型改为JMenu。容器定义了BorderLayout布局管理器以后,如果添加构件时不指明添加的位置,则会把该构件添加到Center的位置。由于本题中不需要把名为actionInfo的JLabel构件添加到Center的位置,所以在第3条下划线处,添加tb构件时必须指明位置参数。本题答案中根据习惯把工具栏添加到容器的顶部,当然,添加到容器的South、East或West位置也都正确。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)