0

所以,我正在努力处理 Java(NetBeans)中的共享变量。我有一个带变量的类 - 让我们调用它statlbl。所以它是一个不可编辑的标签,它的内容被另一个类改变了。

这是缝...我完全不知道如何更改位于一个类中的标签,另一个类。

这是代码的提取:

//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 显示错误,描述为“无法从静态上下文引用非静态变量”

任何帮助,将不胜感激!

4

3 回答 3

0

该错误意味着您的变量statlbl不是静态的。你要么需要一个类型的对象TS_Entity,比如说entity。你的命令将是

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

要么,要么做statlbl一个静态变量。

于 2013-04-04T16:44:03.813 回答
0

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

TS_Entity tsEntity = new TS_Entity();

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

于 2013-04-04T16:44:18.647 回答
0

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

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

要从静态方法访问非静态字段,您需要像这样创建 Object 实例:

TS_Entity en = new TS_Entity();

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

于 2013-04-04T16:46:47.790 回答