[问答题] 下列程序使用CardLayout管理了2张卡片,每张都是一个Panel,每个Panel有一个Button,单击按钮,显示下一张卡片中的内容。请将程序补充完整。 注意:不改动程序结构,不得

20 查阅

[问答题] 下列程序使用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.SetSize200,200);

参考答案:

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);。

计算机考试