Java在JTextField上显示结果

时间:2012-04-30 14:01:51

标签: java swing jtextfield

开始使用netbeans制作简单的GUI,现在我遇到了一些问题。

我有这个:

package my.sccsymapp;

public class sccsymapp extends javax.swing.JFrame {
    /*SOME CODE*/                                     
    public static void main(String args[]) {
        /*SOME CODE*/
    }
    // Variables declaration - do not modify
    private javax.swing.JTextField tempmedespCost;
    // End of variables declaration
}

如果我运行它,它按预期工作。 test放在我的JTextField上。

但我想要做的是在我的代码的其他一些类中使用tempmedespCost.setText("test");

我有这堂课:

package my.sccsymapp;

import java.util.*;

public class Servico extends sccsymapp{
    /*SOME CODE*/ 
    public void relat (){
    /*SOME CODE*/ 
    tempmedespCost.setText("test");
    }
    /*SOME CODE*/ 
}

现在说:

tempmedespCost has private access in my.sccsymapp.sccsymapp

所以我已将tempmedespCost更改为公开。

现在没有显示错误,运行没有错误但test没有放在我的JTextField上。

你能指点我吗?

1 个答案:

答案 0 :(得分:5)

tempmedespCost在您的班级中被定义为私人

private成员只能由属于该类成员的函数加入。班级的孩子(如Servico)无法访问私人领域。

您可以将tempmedespCost的可见度更改为受保护,也可以创建一个允许您访问tempmedespCost的获取者

我建议你在Controlling Access to Members of a Class中阅读一些关于Java可见性的文档。