请完成下列Java程序:实现2个下拉式菜单,一个包含exit菜单项,另一个包含item1和item2共2个菜单项。要求选择exit菜单项时,退出程序;选择item1菜单项之后,item1项变为不可选而item2可选;选择item2菜单项时,item2变为不

admin2009-01-15  37

问题 请完成下列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);
           }
     }
   }
}

选项

答案strCommand.equals(”item1”) strCommand.equals(”item2”)

解析 本题主要考查AWT建立菜单的基本方法和事件处理机制,以及控制菜单项的可选与否。解题关键是熟悉菜单的创建和设置方法,掌握菜单的事件处理模型,通过事件处理机制实现对菜单项的设置。本题中,第1个空,判断菜单命令是由选择 item1项发出的,则进行相关的设置;第2个空,判断菜单命令是由选择item2项发出的,则进行相关的操作。
转载请注明原文地址:https://kaotiyun.com/show/eIID777K
0

最新回复(0)