关于事件源,监视器,处理时间的借口,我怎么也用不好,有时候跟书上编的没什么两样,但就是错了,头都大了,
希望长者给点解释。。谢谢

解决方案 »

  1.   

    import java.applet.*;  
    import java.awt.*;
    import java.util.StringTokenizer;
    import java.awt.event.*;     
                            //需要该包中的ActionEvent类和接口ActionListener。
    public class Lab8_2 extends Applet implements ActionListener  
    { TextField text1, text2; 
      Label lab;
      Button button;
      int sum,avg,n; 
       public void init() 
    {  lab=new Label("输入的数字间用空格或逗号分开");
       text1=new TextField(20);
           text2=new TextField(10);
       button=new Button("确定");
       add(lab);
           add(text1);add(button);
       add(text2); 
           text1.addActionListener(this); 
      // text2.addActionListener(this);     
        }
    public void actionPerformed(ActionEvent e) 
    {   int a[]=new int[10];
        int i;
    if(e.getSource()==button)
    { String s=text1.getText();
      StringTokenizer fenxi=new StringTokenizer(s," ,");
      n=fenxi.countTokens();
      while (fenxi.hasMoreTokens())
      { String str=fenxi.nextToken();
        i=0;
    a[i]=Integer.parseInt(str);
    i++;
      }
      for ( i=0;i<n ;i++ )
      {sum=sum+a[i];
      }
      avg=sum/n;
      { text2.setText("sum="+sum+" "+"avg="+avg); } 
     }
    }
    }
    当我们在一个文本区中输入若干个数时,另一个文本区同时对你输入的数进行求和运算并求出平均值。也就是说随着输入的变化,另一个文本区不断地更新求和及平均值。
      

  2.   

    import java.applet.*;
    import java.awt.*;
    import java.util.StringTokenizer;
    import java.awt.event.*;//需要该包中的ActionEvent类和接口ActionListener。 
    public class Lab8_2 extends Applet implements ActionListener {
    TextField text1, text2; Label lab; Button button; int sum, avg, n; public void init() 
    {
    lab = new Label("输入的数字间用空格或逗号分开");
    text1 = new TextField(20);
    text2 = new TextField(10);
    button = new Button("确定");
    add(lab);
    add(text1);
    add(button);
    add(text2);
    button.addActionListener(this);
    // text2.addActionListener(this);
    } public void actionPerformed(ActionEvent e) 
    {
    int i;
    if (e.getSource() == button) 
    {
    String s = text1.getText();
    StringTokenizer fenxi = new StringTokenizer(s, ",");
    n = fenxi.countTokens();
    int a[] = new int[n];
    i = 0;
    while (fenxi.hasMoreTokens()) 
    {
    String str = fenxi.nextToken();
    a[i] = Integer.parseInt(str);
    i++;
    }
    sum = 0;
    for (i = 0; i < n; i++) 
    {
    sum = sum + a[i];
    System.out.println(a[i]);
    }
    avg = sum / n;
    {
    text2.setText("sum=" + sum + " " + "avg=" + avg);
    }
    }
    }
    }text2.addActionListener(this);改成button.addActionListener(this);
    后面要再改些地方就可以了
      

  3.   

    package applet;import java.applet.*;
    import java.awt.*;
    import java.util.StringTokenizer;
    import java.awt.event.*;//需要该包中的ActionEvent类和接口KeyListener。 
    public class Caculator extends Applet implements KeyListener {
      /**
       * 
       */
      private static final long serialVersionUID = 1L;  TextField text1, text2;  Label lab;  Button button;  int sum, avg, n;  public void init() {
        lab = new Label("输入的数字间用空格或逗号分开");
        text1 = new TextField(20);
        text2 = new TextField(10);
        button = new Button("确定");
        add(lab);
        add(text1);
        add(button);
        add(text2);
        text1.addKeyListener(this);
        // text2.addActionListener(this);
      }  public void keyPressed(KeyEvent e) {
        // TODO Auto-generated method stub  }  public void keyReleased(KeyEvent e) {
        // TODO Auto-generated method stub
        int i;
        if (e.getSource() == text1) {
          String s = text1.getText();
          StringTokenizer fenxi = new StringTokenizer(s, ",");
          n = fenxi.countTokens();
          System.out.println(n);
          int a[] = new int[n];
          i = 0;
          while (fenxi.hasMoreTokens()) {
            String str = fenxi.nextToken();
            a[i] = Integer.parseInt(str);
            i++;
          }
          sum = 0;
          for (i = 0; i < n; i++) {
            sum = sum + a[i];
            // System.out.println(a[i]);
          }
          avg = sum / n;
          {
            text2.setText("sum=" + sum + " " + "avg=" + avg);
          }
        }  }  public void keyTyped(KeyEvent arg0) {
        // TODO Auto-generated method stub  }}
    text1.addKeyListener 然后实现这个listener接口就可以了。
    时间在keyrleased时候触发,如果要在其他的地方实现,重写对应的方法就可以了。。这个才是lz想要的吧?如果可以了要结贴哈,鄙视不结贴的