e.getSouce()的问题 本帖最后由 java2000_net 于 2008-08-05 20:32:09 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TFFrame tf = (TFFrame)(e.getSource()); 这样写不行的,触发事件的是按钮bequal ,不是这个TFFrame。而且一般注册监听器时,都是使用内部类的,然后使用if(e.getSource() == bequal ){ //开始操作}我把你代码改了,不会报错的,如下:import java.awt.*;import java.awt.event.*;public class Testawt { public static void main(String[] args) { new TFFrame().launchFrame(); } }class TFFrame extends Frame implements ActionListener { TextField num1, num2, num3; Button bequal; public void launchFrame() { num1 = new TextField(10); num2 = new TextField(10); num3 = new TextField(15); Label lplus = new Label("+"); bequal = new Button("="); bequal.addActionListener(this); setLayout(new FlowLayout()); add(num1); add(lplus); add(num2); add(bequal); add(num3); pack(); setVisible(true); } public void actionPerformed(ActionEvent e) { if(e.getSource() == bequal) { System.out.println("dfddf"); int n1 = Integer.parseInt(num1.getText()); int n2 = Integer.parseInt(num2.getText()); num3.setText("" + (n1+n2)); } } } 格式不对,我重发。import java.awt.*;import java.awt.event.*;public class Testawt { public static void main(String[] args) { new TFFrame().launchFrame(); } }class TFFrame extends Frame implements ActionListener { TextField num1, num2, num3; Button bequal; public void launchFrame() { num1 = new TextField(10); num2 = new TextField(10); num3 = new TextField(15); Label lplus = new Label("+"); bequal = new Button("="); bequal.addActionListener(this); setLayout(new FlowLayout()); add(num1); add(lplus); add(num2); add(bequal); add(num3); pack(); setVisible(true); } public void actionPerformed(ActionEvent e) { if(e.getSource() == bequal) { System.out.println("dfddf"); int n1 = Integer.parseInt(num1.getText()); int n2 = Integer.parseInt(num2.getText()); num3.setText("" + (n1+n2)); } } } 同意二楼!楼主查一下API就知道啦 new String[3][4]的问题 java同步 线程安全 字符映射计算 如何提取word文档中的内容显示在web页面上? 不知是哪错了,各位大哥帮忙看看,在线等~~~ 关于JFrame的setbackground 大家来探讨一下JAVA应用程序怎样做性能测试(主要测试瓶颈) 关于Collections.sort() Point p=(1,2)为什么不可以?String 就可以。 求助!请问哪位有lzw压缩算法的java源程序 求帮忙写个程序啊~ csv转数据库
这样写不行的,触发事件的是按钮bequal ,不是这个TFFrame。而且一般注册监听器时,都是使用内部类的,然后使用
if(e.getSource() == bequal )
{
//开始操作
}我把你代码改了,不会报错的,如下:
import java.awt.*;
import java.awt.event.*;
public class Testawt {
public static void main(String[] args) {
new TFFrame().launchFrame();
}
}
class TFFrame extends Frame implements ActionListener {
TextField num1, num2, num3;
Button bequal;
public void launchFrame() {
num1 = new TextField(10);
num2 = new TextField(10);
num3 = new TextField(15);
Label lplus = new Label("+");
bequal = new Button("=");
bequal.addActionListener(this);
setLayout(new FlowLayout());
add(num1); add(lplus); add(num2); add(bequal); add(num3);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == bequal) {
System.out.println("dfddf");
int n1 = Integer.parseInt(num1.getText());
int n2 = Integer.parseInt(num2.getText());
num3.setText("" + (n1+n2));
}
}
}
import java.awt.*;
import java.awt.event.*;
public class Testawt {
public static void main(String[] args) {
new TFFrame().launchFrame();
}
}
class TFFrame extends Frame implements ActionListener {
TextField num1, num2, num3;
Button bequal;
public void launchFrame() {
num1 = new TextField(10);
num2 = new TextField(10);
num3 = new TextField(15);
Label lplus = new Label("+");
bequal = new Button("=");
bequal.addActionListener(this);
setLayout(new FlowLayout());
add(num1); add(lplus); add(num2); add(bequal); add(num3);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == bequal) {
System.out.println("dfddf");
int n1 = Integer.parseInt(num1.getText());
int n2 = Integer.parseInt(num2.getText());
num3.setText("" + (n1+n2));
}
}
}