下面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 actionPerformed(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(),这样在方法中可能出现的标题改动之后可以重新绘制。