请完成下列Java程序:创建一个具有2行3列的GridLayout管理器,包括Choice,Label,Button构件,布局为第1行包括一个Choice构件(包括2个选项item1和item2),一个Label构件(当选择Choice构件中的选项时,Label构件显示相应的名称,即,如果点击item1则Label中显示item1),和一个exit按钮(点击则退出应用程序),第2行包括3个Button构件。程序运行结果如下:
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
import java.awt.*;
import java.awt.event.*;
public class ex1_2 extends Frame implements ActionListener,ItemListener
private Label 1;
private String str="label";
private Choice choice1_2;
public static void main(String[] arg)
new ex1_2();
ex1_2()
setLayout(______);
choice1_2=new Choice();
choice1_2.addltem("item1");
choice1_2.addltem("item2");
choice1_2.____________;
add(choice1_2);
1=new Label(str);
add(1);
Button exit1_2=new Button("exit");
exit1_2.addActionListener(this);
add(exit1_2);
for(int i=0;i<3; i++)
add(new Button("button"+i));
setsize(300,300);
pack();
show();
public void actionPerformed(ActionEvent event)
if(event.getActionCommand().equals("exit"))
System.exit(0);
public void itemStateChanged(ItemEvent event)
str=choice1_2.getSelectedltem();
1.setText(str);
参考答案:new GridLayout(2,3)
addItemListener(this)
解析:
本题主要考查Java常用构件Choice和高级事件ItemEvent以及GridLayout布局管理器的用法。解题关键是,熟悉 GridLayout布局管理器和ItemEvent的用法。在本题中,ItemEvent在教材中并没有给出确切的用法,但是可以根据ActionEvent的addActionEvent()方法和重载actionPerformed()方法来完成对动作事件监听的用法来类推出ItemEvent事件的监听方法,这里要求有根据已有知识进行举一反三的能力。