下列程序使用CardLayout管理了2张卡片,每张都是一个Panel,每个Panel有一个Button,单击按钮,显示下一张卡片中的内容。请将程序补充完整。 注意:不改动程序结构,不得增行或删行。 import java.awt.*;

admin2009-12-22  34

问题 下列程序使用CardLayout管理了2张卡片,每张都是一个Panel,每个Panel有一个Button,单击按钮,显示下一张卡片中的内容。请将程序补充完整。
   注意:不改动程序结构,不得增行或删行。
   import java.awt.*;
   import java.awt.event.*;
   public class ex3 implements______
   {
      private Panel p1,p2;
      private Button btn1,btn2;
      private Frame frm;
      private CardLayout cl;
      public static void main(String[] args)
      {
         ex3 tt=new ex3();
         tt.method();
      }
      public void method()
      {
         Frm=new Frame("CardLayout");
         Cl=new CardLayout();
         btn1=new Button("Card1");
         btn2=new Button("Card2");
         pl=new Panel();
         p2=new Panel();
         p1.add(btn1);
         btn1.addActionListener(this);
         p2.add(btn2);
         ______
         frm.SetLayout(cl);
         frm.add(pl,"Layer1");
         frm.add(pl,"Layer1");
         frm.SetSize{200,200);
         frm.SetVisible(true);
      }
      public void actionPerformed(ActionEvent ae)
      {
         ______
      }
   }

选项

答案ActionListener btn2.addActionListener(this); cl.previous(frm);

解析 本题综合考查了对图形用户界面和事件处理的掌握。按钮可以引发动作事件,  当用户单击一个按钮时就引发了一个动作事件,希望相应按钮引发的动作事件的程序必须把按钮注册给实现了ActionListener接口的动作事件监听者。因此,第1空应填入的是ActionListener。第2空的功能是将btn2注册给当前的监听者。因此,第2空应填入的是btn2.addActionListener(this);。第3空需要填入的是响应鼠标事件的处理代码,当单击鼠标时,要显示下一张卡片中的内容,则需要调用next(Container parent)或者previous(Container parent)方法。因此,第3空应填入的是cl.next(frm);或cl.previous(frm);。
转载请注明原文地址:https://jikaoti.com/ti/PQb0FFFM
0

最新回复(0)