首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

又发现有关问题了,新人有关问题较多,望各位耐心解答

2012-03-09 
又发现问题了,新人问题较多,望各位耐心解答啊Java codeimport java.awt.*import java.awt.event.*import

又发现问题了,新人问题较多,望各位耐心解答啊

Java code
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Test {    public static void main(String[] args) {        EventQueue.invokeLater(new Runnable(){            public void run(){                MyFrame frame=new MyFrame();                                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);                            }        });    }}class MyFrame extends JFrame{    public MyFrame(){    Toolkit kit=Toolkit.getDefaultToolkit();    Dimension screenSize=kit.getScreenSize();    setSize(screenSize.width/2,screenSize.height/2);    setLocation(100,100);    setVisible(true);    TextField tf1=new TextField(10);    TextField tf2=new TextField(10);    TextField tf3=new TextField(20);    Label equal=new Label("+");    Panel p=new Panel();    Button b=new Button("=");    p.add(tf1);    p.add(equal);    p.add(tf2);    p.add(b);    p.add(tf3);                    add(p);    Monitor m=new Monitor(this);    b.addActionListener(m);    pack();        }}class Monitor implements ActionListener{    MyFrame mf=null;    public Monitor(MyFrame mf){        this.mf=mf;    }    public void actionPerformed(ActionEvent e) {*        double a=Double.parseDouble(mf.tf1.getText());*        double bb=Double.parseDouble(mf.tf2.getText());*        mf.tf3.setText(""+(a+bb));    }    }

*行报错,好像是和tf1,tf2,tf3有关,可是 不是在MyFrame 中定义了吗 为什么还是不对呢?
先谢谢各位了

[解决办法]
Java code
class MyFrame extends JFrame{    public MyFrame(){    Toolkit kit=Toolkit.getDefaultToolkit();    Dimension screenSize=kit.getScreenSize();    setSize(screenSize.width/2,screenSize.height/2);    setLocation(100,100);    setVisible(true);    //TextField tf1=new TextField(10); //这样定义的是局部变量,方法内有效,方法外无法访问    //TextField tf2=new TextField(10);    //TextField tf3=new TextField(20);    Label equal=new Label("+");    Panel p=new Panel();    Button b=new Button("=");    p.add(tf1);    p.add(equal);    p.add(tf2);    p.add(b);    p.add(tf3);                    add(p);    Monitor m=new Monitor(this);    b.addActionListener(m);    pack();        }    TextField tf1=new TextField(10); //这样定义的是成员变量,这里没有public修饰     TextField tf2=new TextField(10); //同一个包的外部类可以访问    TextField tf3=new TextField(20);} 

热点排行