或许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));
}
}
它应该是显示两个输入框,在其中一个中输入一个数字,另外一个就显示该数字的平方。
但是现在输入数字后,没有反应,貌似监视器没工作。为什么?
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));
}
}
不是在键盘输入就触发,而是当你在这个TextField中按下回车后才触发的
程序改成这样看看
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("请输入一个整数");
}
}
});
}
}