我在做一個聊天室。我有一個用Netbeans創建的jFrame,但我有一個問題。我有兩個重要的課程。其中之一就是界面本身。另一個是帶有運行方法的java類,它可以提供新的消息。我將啓動一個將運行此運行方法的線程。每次我讀取消息時,我都想使用接口的發送方法。此方法會將消息附加到JEditorPane。但它不會追加它。我確實收到了一條消息,但沒有出現在jeditorpane中...請幫助我嗎?我無法訪問另一個類的用戶的jEditorPane
此方法位於ClientForm1(接口)上。它會將文本附加到編輯器窗格。我從這裏開始檢查傳入消息的線程
public void send(String message){
String messages;
messages = jEditorPane1.getText();
jEditorPane1.setText(messages+message+"\n");
}
這是從服務器檢查傳入消息的運行方法。所有的JFrame變量都是私有的。
public ResMesClient(Socket socket, BufferedReader br, PrintStream p){
this.socket = socket;
is=br;
ps = p;
}
@Override
@SuppressWarnings("empty-statement")
public void run(){
String messages;
try {
//This thread will read the server messages
ClientForm1 cf = new ClientForm1(socket,ps); //I create an object
JFrame frame1 = cf; //I create a frame and set it visible.
frame1.setVisible(true);
while(true){
messages = is.readLine();
System.out.println("From ResMesClient : "+messages);
if(!messages.equals("QUITCLIENT"));
else cf.send("Set text works"); //I call a send method of ClientForm1 class
}
} catch (IOException ex) {
}
這兩個是不同文件中的2個不同的java類。 但它不追加...我嘗試了很多東西,但它不工作...至少,我可以肯定地告訴我,我確實收到一條消息,只是它不追加
在此先感謝您
作爲參考,顯示了一個完整的工作示例[此處](http://stackoverflow.com/a/3245805/230513)。 – trashgod
我剛看到你的完整代碼,我認爲這個問題只是socket和serversocket的概念。如果你願意,我可以在星期日之前爲你提供一個簡單的例子。另外看看Java Net API和Socket編程。 – Diversity