为什么这个applet不工作?

funny001 2010-12-12 09:33:46
或许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));
}

}
...全文
77 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
funny001 2010-12-12
  • 打赏
  • 举报
回复
谢谢这下子完全明白了。
sunyiz 2010-12-12
  • 打赏
  • 举报
回复
如果想按下即显示
程序改成这样看看
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("请输入一个整数");
}
}
});
}
}
sunyiz 2010-12-12
  • 打赏
  • 举报
回复
楼主,你要知道TextField的ActionListener的actionPerformed方法是在什么时候触发的
不是在键盘输入就触发,而是当你在这个TextField中按下回车后才触发的

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧