请完成下列Java程序:实现2个下拉式菜单,一个包含exit菜单项,另一个包含item1和item2共2个菜单项。要求选择exit菜单项时,退出程序;选择item1菜单项之后,item1项变为不可选而item2可选;选择item2菜单项时,item2变为不可选而item1可选。
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
程序运行结果如下:
import java.awt.*;
import java.awt.event.*;
public class ex18_2 extends Frame. implements ActionListener {
private choiceHandler ch;
private MenuItem item1;
private MenuItem item2;
public static void main(String[] arg) {
new ex18_2 ( );
}
ex18_2 ( ) {
setTitle("ex18_2");
MenuItem item;
ch = new choiceHandler();
MenuBar mb = new MenuBar();
Menu fm = new Menu("File");
fm.addSeparator();
fm.add(item = new MenuItem("Exit"));
item.addActionListener(this);
fm.add(item);
mb.add(fm);
Menu mm = new Menu("Choice");
mm.add(item1 = new MenuItem("item1"));
item1.addActionListener(ch);
mm.add(item2 = new MenuItem("item2"));
item2.addActionListener(ch);
mb.add(mm);
setMenuBar(mb);
setSize(200,200);
show();
}
public void actionPerformed(ActionEvent ae) {
if(ae.getActionCommand().equals("Exit"))
System.exit(0);
else
System.out.println(ae.getActionCommand());
}
class choiceHandler implements ActionListener {
public void actionPerformed(ActionEvent ae) {
String strCommand = ae.getActionCommand();
if(_________________) {
item2.setEnabled(true);
item1.setEnabled(false);
} else if(______________________) {
item2.setEnabled(false);
item1.setEnabled(true);
}
}
}
}
第1题:
在下列关于菜单项的说法中,错误的是________。
A.有些菜单项的前面有一个钩,是因为在设计时输入了“√ ”。
B.每个菜单项都是一个对象,也有自己的属性、事件和方法
C.菜单中的分隔符也是一个对象
D.在程序执行时,如果菜单项的Enabled属性为False,则该菜单项变成灰色,不能被用户选择。
第2题:
按照下图实现菜单设计。 (1)菜单为二级,第一级四个菜单项,只需对学校概况设计第二级下拉菜单;要求用无序列表实现(4分) (2)鼠标覆盖到一级菜单时,菜单项底色变为黄色,字体颜色变为黑色;覆盖到二级菜单时菜单项底色变为白色,字体颜色变为黑色(8分) (3)所有菜单项水平、垂直居中(4分) (4)所有菜单项初始状态字体为宋体,字体颜色为白色,底色为红色(4分)
第3题:
利用“路径选择工具”选中形状,在编辑菜单中原来为自由变换和变换菜单项的位置处将变为自由变换路径和变换路径菜单项,选择其中任何一个菜单项均可进入自由变形状态。
第4题:
下列关于菜单的叙述中,错误的是()。
A.菜单项是一个具有属性的控件
B.菜单可以分为下拉式菜单和弹出式菜单两种类型
C.菜单项只响应单击事件
D.在同一窗体的菜单项中,不允许出现标题相同的菜单项
第5题:
编写如图所示应用程序,单击选择菜单项退出后,显示下面的请选择对话框,选择是结束程序,选择否显示下面的消息对话框。