或许applet只是10年前的一个玩具。但是这个简单的代码不工作还是让我困惑。
它应该是显示两个输入框,在其中一个中输入一个数字,另外一个就显示该数字的平方。
但是现在输入数字后,没有反应,貌似监视器没工作。为什么?
import java.applet.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;public class InputDemo extends Applet implements ActionListener
{
TextField text1, text2;

public void init()
{
text1 = new TextField(10);
text2 = new TextField(10);
add(text1);
add(text2);
text1.addActionListener(this);
} public void actionPerformed(ActionEvent e)
{
long n = Long.parseLong(text1.getText());
text2.setText(String.valueOf(n * n));
}

}

解决方案 »

  1.   

    楼主,你要知道TextField的ActionListener的actionPerformed方法是在什么时候触发的
    不是在键盘输入就触发,而是当你在这个TextField中按下回车后才触发的
      

  2.   

    如果想按下即显示
    程序改成这样看看
    import java.applet.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;public class InputDemo extends Applet {
    TextField text1, text2; public void init() {
    text1 = new TextField(10);
    text2 = new TextField(10);
    add(text1);
    add(text2);
    text1.addKeyListener(new KeyAdapter(){
    public void keyReleased(KeyEvent e) {
    try {
    long n = Long.parseLong(text1.getText());
    text2.setText(String.valueOf(n * n));
    } catch (NumberFormatException ex) {
    text2.setText("请输入一个整数");
    }
    }
    });
    }
    }