Java初心者です。
下記のJavaのプログラムで(6)のところで(1)から(4)が呼び出されると(1)と(4)はうまく動作して画面に表示されるのですが(2)(3)がうまく動きません。ソースは長いので全部掲載できませんが、基本的にはほかの部分はうまく動いています。(5)ではうまくテキストフィールドfield2に文字が表示されます。
原因と対処方法を教えてください。
public ChatServer(){
............
field1 = new TextField("ABC");
field1.setLocation(10,30);
field1.setSize(150,25);
field1.addActionListener(this);
add(field1);
field2 = new TextField("DEF");
field2.setLocation(10,60);
field2.setSize(150,25);
add(field2);
............
public void text1(String ss){
(1) System.out.println("1:*****" + ss);
(2) field2.setText(ss);
(3) field1.setText("AAA");
(4) System.out.println("2:*****" + ss);
}
public void actionPerformed(ActionEvent e){
String ss;
if(e.getSource() == field1){
ss = field1.getText();
(5) field2.setText(ss);
}
}
}
class clientProc implements Runnable {
ChatServer serv2 = new ChatServer();
.............
String line = in.readLine();
while (!"quit".equals(line)){
line = in.readLine();
(6) serv2.text1(line);
System.out.println("***");
}
..............
}
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
僕の環境では、下の最小構成コードでとりあえずちゃんと動く。
(Java1.4.2_02/Java1.4.1/Java1.3.0_02、WindowsMe)
コンパイル javac Client.java
実行 java Client
-------------------
ということで、不具合がどの部分で起こっているのか特定できない場合、
「(不具合が再現する、)コンパイルかつ実行が可能な最小構成コード」を作ってみて、
それを丸ごと掲示するとよい。
//サーバ
import java.awt.*;
import java.awt.event.*;
public class Server extends Frame {
private TextField field1, field2;
public Server() {
setLayout(null);
field1 = new TextField("ABC");
field1.setLocation(10,30);
field1.setSize(150,25);
add(field1);
field2 = new TextField("DEF");
field2.setLocation(10,60);
field2.setSize(150,25);
add(field2);
setSize(200, 160);
setVisible(true);
}
public void text1(String ss){
System.out.println("1:*****" + ss);
field2.setText(ss);
field1.setText("AAA");
System.out.println("2:*****" + ss);
}
}
//---------------------
//クライアント
import java.io.*;
public class Client {
public static void main(String[] args){
Server serv2 = new Server();
//キーボード入力読み取り用
BufferedReader in
= new BufferedReader(new InputStreamReader(System.in));
Client t = new Client();
String line = null;
while (!"quit".equals(line)){
try {
line = in.readLine();
} catch(Exception e) {e.printStackTrace();}
serv2.text1(line);
System.out.println("***");
}
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 【jquery】EasyUIのSubGridにMySQLのテーブルデータを表示&編集にしたい 5 2022/05/02 13:10
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- Visual Basic(VBA) Dateserialで データ抽出 2 2022/06/26 21:07
- 英語 in the fieldってどういう意味でしょうか? 5 2022/12/10 22:45
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- 格安スマホ・SIMフリースマホ https://www.amazon.co.jp/s/ref=bl_dp_s_mw_0?ie=UTF 1 2022/05/22 17:06
- Visual Basic(VBA) VBAのフィルター操作 5 2023/08/08 09:48
- Visual Basic(VBA) 前回質問の続きになりますが、下記マクロでシート1からシート2の抽出項目セルB3「りんご」とセルC2「 2 2022/12/02 17:37
- その他(ブラウザ) グーの質問見ようとしたらブラウザ版で 3 2022/03/28 10:33
- 英語 読み方を教えてください 7 2022/09/20 08:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Socketの接続のタイムアウトを...
-
System.exit()の値を取得したい
-
中カッコ{}だけの記述について
-
カプセル化の利点
-
TwitterのDMで自動応答プログラム
-
javaのプログラミングで作るRPG...
-
元旦からの経過日数を求めたい
-
日本語が文字コードによっては...
-
プログラミングの問題です。大...
-
javaで特定の文字列から特定の...
-
変数を動的に利用するには?
-
コマンドライン引数の*(アフ...
-
javaのコンパイルエラーについ...
-
javaでコンパイルが出来ない
-
replaceAllが使えない場合の取...
-
NoSuchMethodErrorが解決できま...
-
元旦からの日数を入力して、何...
-
JSP/Servletのパラメータの受け...
-
C言語のポインターに関する警告
-
配列にnullを代入すると、null...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングの問題です。大...
-
変数を動的に利用するには?
-
中カッコ{}だけの記述について
-
System.exit()の値を取得したい
-
Javaでlog4jを使ってログ出力を...
-
NoSuchMethodErrorが解決できま...
-
javaで特定の文字列から特定の...
-
Socketの接続のタイムアウトを...
-
Java プログラム public class ...
-
javaのプログラミングで作るRPG...
-
インタフェイス実装と抽象クラ...
-
コマンドライン引数の*(アフ...
-
【初心者です】javaで平均値を...
-
Javaで日本語の出力が文字化けする
-
(大至急)JavaでATMもどきを作成
-
コンストラクタの引数の中のnew?
-
Java 最大公約数 gcd
-
randomで
-
C# DatagridviewにExcelシート...
-
replaceAllが使えない場合の取...
おすすめ情報