質問編集履歴

1

問題点の減少 ソースコードの変更

2015/12/31 00:46

投稿

kt3302y
kt3302y

スコア27

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,14 @@
1
1
  javaでチャットアプリを作ろうと思い,CUIでチャットサーバーをjavaFXを使用してチャットクライアントを作成しました.チャットサーバーの方はメッセージを受信,送信を送るものをスレッドで表現しています.GUIの方のソースコードではconnectボタンをクリックするとソケットの接続とメッセージの受信を行い,中央のテキストエリアにサーバーから送られたメッセージを表示するスレッドと送信ボタンをクリックするとテキストフィールドに入力されている文字をサーバーに送信するスレッドを作成してそれらをイベント発生時に開始するようなものを作成しました.
2
2
 
3
+ しかし,問題が二つ発生してしまいました
4
+
5
+ - サーバーに送信できない
6
+
7
+ - sendボタンをクリックしてしまうとテキストフィールドに文字が入力できなくなる
8
+
3
- しかし,メッセージを送信してもサーバーに届いていないというかられない問題と一回,送信してしまうと入力ができなくなる問題が発生しした.何がいけないのかわからないので教えてください.
9
+ このうちのサーバーに送信する問題は解決できたのですが下の問題が解決できせん
10
+
11
+ 原因がわからないので教えてください
4
12
 
5
13
  ```チャットサーバー
6
14
 
@@ -360,7 +368,7 @@
360
368
 
361
369
 
362
370
 
363
- taskSendMessage = new NetSendMessageTask(socket);
371
+ taskSendMessage = new NetSendMessageTask(socket,sendMessage.getText());
364
372
 
365
373
  sendMessage.textProperty().bind(taskSendMessage.messageProperty());
366
374
 
@@ -470,6 +478,10 @@
470
478
 
471
479
 
472
480
 
481
+ import javafx.beans.property.SimpleStringProperty;
482
+
483
+ import javafx.beans.property.StringProperty;
484
+
473
485
  import javafx.concurrent.Task;
474
486
 
475
487
 
@@ -478,17 +490,23 @@
478
490
 
479
491
  private Socket socket;
480
492
 
493
+ private StringProperty message = new SimpleStringProperty();
494
+
481
495
 
482
496
 
483
497
 
484
498
 
485
- protected NetSendMessageTask(Socket socket){
499
+ protected NetSendMessageTask(Socket socket,String message){
486
500
 
487
501
  this.socket = socket;
488
502
 
503
+ this.message.set(message);
504
+
489
- }
505
+ }
490
-
491
-
506
+
507
+
508
+
509
+
492
510
 
493
511
  @Override
494
512
 
@@ -514,9 +532,9 @@
514
532
 
515
533
  // データの送信
516
534
 
517
- String message = getMessage();
535
+
518
-
536
+
519
- dos.writeUTF(message);
537
+ dos.writeUTF(message.toString());
520
538
 
521
539
  updateMessage("");
522
540
 
@@ -534,6 +552,8 @@
534
552
 
535
553
 
536
554
 
555
+
556
+
537
557
  ```
538
558
 
539
559
  ```GUIレイアウト