如何从一个类访问另一个类的JTextArea

时间:2015-04-03 05:45:11

标签: java

我想访问状态,所以我可以为它添加值,但我的代码似乎不起作用。请帮帮我。

public class NewClient extends JFrame implements ActionListener{


private static final int WIDTH = 600;
private static final int HEIGHT = 400;
public static JTextArea chat, event, cwindow, c2window, type, status;

public NewClient(){

    status = new JTextArea(30,10);
    status.setEditable(false);
}

这是另一个班级

public class NewServer{


public static NewClient client;

public static void main(String args[]){
       client.status.append("Online");
}

1 个答案:

答案 0 :(得分:0)

这里有两点需要注意:

  

您必须创建对象以调用其构造函数,否则您   将在以下行中点击NullPointerException

client.status.append("Online");

因此,修复方法是创建一个对象并赋值:

client = new NewClient();
client.status.append("Online");
  

不需要通过对象调用像status这样的静态变量。所以,   而不是像下面那样分配值:

client.status.append("Online");

您可以使用类名直接调用变量:

client = new NewClient();   
NewClient.status.append("Online");

如果您在上面注明,我们为NewClient创建了新对象,以便将status文本区域的值初始化为NewClient构造函数的一部分。