[填空题] 下面ChangeTitle()中对b1和b2按钮构造监听器,实现当单击b1按钮时标题变为students,当单击b2按钮时标题变为teachers。请将程序补充完整。 public Ch

19 查阅

[填空题] 下面ChangeTitle()中对b1和b2按钮构造监听器,实现当单击b1按钮时标题变为students,当单击b2按钮时标题变为teachers。请将程序补充完整。

public ChangeTitle()

super("Title Bar");

b1.addActionListener(this);

______

Jpanel pane=new Jpanel();

Pane.add(b1);

Pane.add(b2);

SetContentPane(pane);

public void aetionPerformed(ActionEvent evt)

Object sourve=evt.getSource();

if(sourve==b1)

setTitle("Students");

else if(source==b2)

setTitle("Teachers");

repaint();

参考答案:

b2.addActionListener(this);。

本题考查动作事件及响应的概念。在ChangeTitle()中将接收器添加到JButton对象,但从程序段中可知程序只给b1添加了接收器,没有给b2添加接收器。actionPerformed(ActionEvent evt)中对来自两个JButton对象的动作事件做出响应,evt对象的getSource()方法决定了事件的来源。如果它等于b1按钮,则标题设置为Students;如果它等于b2,则标题设置为Teachers。需要调用repaint(),这样当可能出现的标题改动后,可以重新绘制。

计算机考试