基本的な質問が 2 つあります。
Java Swing を使用した GUI プロジェクトがあります。フレームにボタンを配置してダブルクリックすると、 のコードが表示
actionPerformed
されましたが、ブロックされています。そこにボタンを配置して、それを で使用するにはどうすればよい
actionListener
ですか?私のプロジェクトはサーバークライアント(マルチスレッドとソケット)に関するものです
1 つのメソッドを呼び出して、JtextField に書き込むことができる 1 つの文字列を受け取り、それは PrintWriter と getOutputStream を使用してしばらくの間保持されます。
何かのようなもの:
do{
...
}while(thisstring!=null || thisstring!="exit")
だから..何かを書いてボタンを押して送信すると、それはシクルとボタンブロックにとどまります。ボタンのブロックを解除して別のことを書くにはどうすればよいですか?
編集:
EDT の問題は理解できましたが、解決できません。
タイマーを使用しようとしましたが、成功しませんでした。
int delay = 1000; //milliseconds
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
//My action calling the Thread class with the while cicle that has the PrintWriter
}
};
new Timer(delay, listener).start();
ボタンを押したときにタイマーを実行するにはどうすればよいですか?
1 人のユーザーがテキスト フィールドに何かを入力するたびに、その cicle にとどまって (コメント行を読んで) OutputStream で情報を送信するにはどうすればよいですか? たとえば、コンソール アプリケーションの場合、BufferedReader を使用し、ReadLine() を使用してコンソールから送信されるものを待機することを知っていますが、GUI インターフェイスでは常にフリーズします。