【发布时间】:2015-07-06 14:10:35
【问题描述】:
我正在做一个关于使用 Java IO 进行客户端-服务器聊天的简单练习。这是我的代码结构:
public class ChatRoomClientGUI{
private JTextArea textAreaMessages;
private JTextField textFieldMessage;
private JButton buttonSendMsg;
//...
private static Socket socket = null;
private static Scanner input = null;
private static PrintWriter output = null;
//...
private static void handleInputStream(){
String response = input.nextLine();
textAreaMessages.append(response + "\n"); // Error here
}
}
我现在面临的问题是我无法访问textAreaMessages 变量,因为它是非静态,而handleInputStream() 方法是静态强>。我已经尝试了一些方法,但它们都不起作用:
- 将
textAreaMessages;更改为private static JTextArea textAreaMessages;=> 我的IDE (IntelliJ IDEA) 在我运行程序时产生错误 - 将
handleInputStream()更改为 非静态 方法 => 这也不起作用,因为我从静态上下文中调用此方法并且无法更改。
那么有什么想法可以解决这个问题吗?
非常感谢!
【问题讨论】:
-
你能再显示一些代码吗?
-
您可以使用:
StringBuffer sb = new StringBuffer("Test"); sb.append(" String Buffer");并将“sb”绑定到您的文本区域
标签: java user-interface intellij-idea static non-static