下面ChangeTitle()中对b1和b2按钮构造监听器,实现当单击b1按钮时标题变为students,当单击b2按钮时标题变为Teachers。请将程序补充完整。 public ChangeTitle() { super("Titl

admin2009-02-15  27

问题 下面ChangeTitle()中对b1和b2按钮构造监听器,实现当单击b1按钮时标题变为students,当单击b2按钮时标题变为Teachers。请将程序补充完整。
    public ChangeTitle() {
      super("Title Bar");
      b1.addAetionListener(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(),这样在方法中可能出现的标题改动之后可以重新绘制。
转载请注明原文地址:https://jikaoti.com/ti/9Gb0FFFM
0

最新回复(0)