首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
本程序的功能是监听对于菜单项和工具条按钮的操作。主窗口中有菜单、工具条和一个文字标签,菜单中有“文件”项,“文件”菜单中包括菜单项“新建”、“保存”、“打印”、“页面设置”和“退出”,工具条上包括按钮“新建”、“保存”、“打印”、“页面设置”和“退出”。单
本程序的功能是监听对于菜单项和工具条按钮的操作。主窗口中有菜单、工具条和一个文字标签,菜单中有“文件”项,“文件”菜单中包括菜单项“新建”、“保存”、“打印”、“页面设置”和“退出”,工具条上包括按钮“新建”、“保存”、“打印”、“页面设置”和“退出”。单
admin
2009-12-22
36
问题
本程序的功能是监听对于菜单项和工具条按钮的操作。主窗口中有菜单、工具条和一个文字标签,菜单中有“文件”项,“文件”菜单中包括菜单项“新建”、“保存”、“打印”、“页面设置”和“退出”,工具条上包括按钮“新建”、“保存”、“打印”、“页面设置”和“退出”。单击任何一个菜单项或任何一个工具条按钮,文字标签都会显示哪个构件被选中。请更正题中带下划线的部分。运行结果如下图所示。
注意:不改变程序的结构,不得增行或删行。
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 SaveAction(actionInfo);
file.add(sa);
tb.add(sa);
PrintAction pta=new PrintAction(actionInfo);
file.add(pra);
tb.add(pra);
PageSetAction psa=new PageSetAction(actionInfo);
file.add(psa);
tb.add(psa);
ExitAction ea=new ExitAction(actionInfo);
file.add(ea);
tb.add(ea);
setJMenuBar(mb);
Container cp=getContentPane();
cp.setLayout(new BorderLayout());
cp.add(tb);
cp.add(actionInfo, BorderLayout.CENTER );
setSize(350, 200);
setVisible(true);
}
public static void main(String[] args)
{
new advance("advance");
}
}
class NewAction extends AbstractAction
{
JLabel label;
public NewAction(JLabel label)
{
super("新建");
this.label=label;
}
public void actionPerformed(ActionEvent e)
{
label.setText("您选择了新建");
}
}
class SaveAction extends AbstractAction
{
JLabel label;
public SaveAction(JLabel label)
{
super("保存");
this.label=label;
}
public void actionPerformed(ActionEvent e)
{
label.setText ("您选择了保存");
}
}
class printAction extends AbstractAction
{
JLabel label;
public PrintAction(JLabel label)
{
super("打印");
this.label=label;
}
public void actionPerformed(ActionEvent e)
{
label.setText ("您选择了打印");
}
}
class PageSetAction extends AbstractAction
{
JLabel label;
public pageSetAction(JLabel label)
{
super("页面设置");
this.label=label;
}
public void actionPerformed(ActionEvent e)
{
label.setText("您选择了页面设置");
}
}
class ExitAction extends AbstractAction
{
JLabel label;
public ExitAction(JLabel label)
{
super("退出");
this.label=label;
}
public void actionPerformed(ActionEvent e)
{
label.setText ("您选择了退出");
}
}
选项
答案
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位置也都正确。
转载请注明原文地址:https://kaotiyun.com/show/jcnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
下列所列各项属于命令按钮事件的是
如果希望用户在文本框中输入的字符显示的是’’*’’号,而不是真正输入的内容,应该指定的属性是
下面不属于按钮控件事件的是
表名为Employee的表结构是(职工号,姓名,工资),建立表Employee的SQL命令是
建立一个视图salary,该视图包括了系号和该系的平均工资两个字段,正确的SQL语句是
下列选项中不属于面向对象程序设计特征的是
下面程序的运行结果是:SETTALKOFFn=1proc1(n)?n+2PROCEDUREproc1PARAMETERSnFORk=2T04n=n+k
随机试题
脑出血急性期的护理措施,下列哪项不妥
A.维生素A缺乏B.维生素B缺乏C.维生素D缺乏D.维生素K缺乏E.维生素E缺乏上皮角化不全,夜盲症,繁殖机能障碍是
维生素是维持动物体正常生理代谢和机能所必需的一类低分子化合物,其作用是其他物质所无法替代的。可用于高热、重度损伤及牛酮血症、神经炎、心肌炎的辅助治疗的维生素为
幼儿发生腹部绞痛,呕吐和便血,并扪及腹部包块,最可能是
女孩,2岁。反复发作喘息4次以上,昨又突然发作喘息,查两肺满布哮鸣音,皮下注射肾上腺素后,哮鸣音明显减少。其儿幼时对花粉过敏,母有哮喘史。患儿如呈哮喘持续状态,有效的紧急处理是
依据《建筑施工企业安全生产许可证管理办法》,施工企业变更名称、地址、法定代表人等,应当在变更后()日内,到原安全生产许可证颁发管理机关办理安全生产许可证变更手续。
《泰晤士报》报道:据估计,被劫掠和破坏的财产,总值超过六百万镑。在场的每个人都掠夺很多。在进入皇宫的宫殿后,谁也不知道该拿什么东西。这则报道反映了哪一事件?()
(2012国家94)动物福利是指尊重动物的权利、保护生态环境,促进人与动物协调发展。动物福利主要包括:生理福利,即无饥渴之忧虑;环境福利,即让动物有适当的居所;卫生福利,即尽量减少动物的伤病;行为福利,即保证动物表达天性的自由;心理福利,即减少动物恐惧和焦
若曲线y=x2+ax+b和2y=-1+xy3。在点(1,-1)处相切,求a,b的值。
ACanadianresearcherhasdiscoveredthatsoundtravels【21】______airmorethanone-haftkilometeranhourslowerthanhadbeen
最新回复
(
0
)