开始使用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上。你能指出我的方向吗?
最佳答案
tempmedespCost
在您的班级中定义为私人private
成员只能由属于该类成员的函数访问。班级的子级(如Servico
)不能访问私有字段。
您可以将tempmedespCost
的可见性更改为受保护,也可以创建一个允许您访问tempmedespCost
的吸气剂。
我建议您阅读Controlling Access to Members of a Class中有关Java可见性的一些文档。
关于java - Java在JTextField上显示结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10384995/