共享变量出错

时间:2013-04-04 16:41:05

标签: java variables netbeans shared

所以,我正在努力解决Java(NetBeans)中的共享变量问题。我有一个带变量的类 - 让我们称之为statlbl。所以它是一个不可编辑的标签,其内容由另一个类改变。

这是sitch ...我绝对不知道如何更改一个类中的标签,与另一个类。

以下是代码的提取:

//Print the ip address   
System.out.println("This server's IP Address: " + ipAddress); TS_Entity.statlbl.setText("This server's IP Address: "
    + ipAddress);
         try {
             Thread.sleep(1000L);
         } catch (Exception e) {
         }

调试时,IDE会显示错误及描述,“无法从静态上下文引用非静态变量”

任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:0)

错误表示您的变量statlbl不是静态的。您需要拥有TS_Entity类型的对象,例如entity。那么你的命令就是

entity.statlbl.setText("This server's IP Address: " + ipAddress);

要么是,要么使statlbl成为静态变量。

答案 1 :(得分:0)

您没有TS_Entity类的对象。您需要创建它的实例:

TS_Entity tsEntity = new TS_Entity();

访问非静态字段。静态字段是类中的字段,而不是单个实例。对于其他所有字段,您需要该对象的实例,例如tsEntity

答案 2 :(得分:0)

您使用的变量statlbl是非静态变量。但是您试图从一个本身是静态的方法中访问这个非静态变量statlbl

这在java中是不可能的。您必须将statlbl变量声明为静态。

要从静态方法访问非静态字段,您需要创建如下的Object实例:

TS_Entity en = new TS_Entity();

现在您可以使用此对象的setter方法更改statlbl的值。

相关问题