你的静态变量是在实例构造函数里初始化的,如果你不生成一个对象,它就没有被初始化,试试class A extends Object{
public static JTextField tfExpression ;
static {
tfExpression = new JTextField();
}
}或者你坚持的话,试试把ctPane.add(A.tfExpression,"North");改成ctPane.add(new A().tfExpression,"North"); 

解决方案 »

  1.   

    谢谢你啊!我用了你的第一种方法,可以了。但是,我有点不明白下面这个是什么意思:
    static {
    tfExpression = new JTextField();
    }*********
    应该不是函数吧?
    是块吗?
    可以这样用块的吗?是不是就象静态变量一样,在程序运行之前就已经被分配好空间的呢?
      

  2.   

    static{
         //
     }static block 先于构造函数执行。