本の真似をして、スレッドを書いてみたんですがに何も起こりませんでした。全く分かりません。どうすれば良いでしょうか?
public class Frame1 extends Frame implements Runable{
.................
.................
Thread kick = new Thread(this);
int time;
public void start() {
if (kick ==null)
kick.start();
}
public void run() {
while (kick == Thread.currentThread()) {
time++;
String s = Integer.toString(time);
textArea1.append( s + "\r\n");
try{
Thread.sleep(1000);
}catch(InterruptedException e){}
}
}
No.3ベストアンサー
- 回答日時:
以下のようなサイトを発見しました。
それらと質問のコードを見比べていて気が付いたのですが、
最初に「Thread kick = new Thread(this);」とオブジェクト放り込んでますよね?
だからstart()の中の「kick ==null」に引っかからないのでは?
参考サイトのコードを見ていただければ分かると思うのですが、
Thread kick= null;
とした上で、
public void start() {
if (kick ==null)
kick = new Thread(this);
kick.start();
}
としてみてはいかがでしょうか?
参考URL:http://pascal.seg.kobe-u.ac.jp/~shii/java/exampl …
この回答への補足
以下のように書き換えてみたんですが、さっぱり動きません・・・。おかしいですね・・・???。
Thread kick = null;
int time;
public void start() {
if (kick == null){
kick = new Thread(this);
kick.start();
}
}
public void run() {
while (true) {
time++;
System.out.println(time);
String s = Integer.toString(time);
textArea1.append( s + "\r\n");
try{
Thread.currentThread().sleep(1000);
}catch(InterruptedException e){}
}
}
No.4
- 回答日時:
Javaよく知りませんが・・・
通常Threadの生成ってmainの中でやりませんか?
多分FrameってThreadの継承クラスなんでしょうね、この書き方がと。
このFrame1が生成されても、mainがないとstartしない
んじゃないかなと思うんですが、どうでしょう?
外していたらごめんなさい。
この回答への補足
ある本の例ではこのように書いてありましたのでmainは必要ないと思いました。
class ??? extends Frame implements Runnable{
public ??? (){
・・・・・・
thread.start();
}
public void run() {
スレッドに関する処理
}
}
No.1
- 回答日時:
遅い回答ですみません。
もう解決されてしまったかもしれませんが、一応。
何も起こらないとはどういう状態ですか?
エラーは起きていますか?それすら起きませんか?
デバグ方法として、各ポイントにprint文(JavaだとSystem.out.println("文字列");ですか)を入れて、どこが実行されてて、どこがされてないのかを明確にするのをおすすめします。
ちなみに、質問文の中のコードは閉じカッコ(})がひとつ足りないと思うのですが、コピペミスか何かでしょうか?
この回答への補足
}は間違えて消してしまったようです。
エラーは起きてません。実行できました。
textareaに数字が出るはずなのですが、何も出ません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java java final 1 2022/06/10 22:49
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
C#で、あるクラスのメンバーす...
-
C#でのWNetAddConnection3の使...
-
長方形を描いて、それを移動さ...
-
未割り当てのローカル変数
-
ボタンの複数割り当てについて
-
C#から、C++で作成したdll内の...
-
C# 矢印キーの取得
-
JavaSwingのファンクションキー...
-
StrutsのiterateタグでListに格...
-
C# タスク非表示でタイトルバー...
-
C# visibleプロパティをfalseに...
-
[C#.net]スレッド化された別フ...
-
C#で別のFormへ複数の値を返そ...
-
System.err. printlnとSystem.o...
-
C言語のポインターに関する警告
-
VBAで配列の計算
-
[JAVA]try 内の変数を外で!?
-
Javaで改行などが出来ないのです。
-
ORA-01858: 数値を指定する箇所...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
Junitテストでvoid戻り値メッソ...
-
C#で、あるクラスのメンバーす...
-
C#でのWNetAddConnection3の使...
-
C# visibleプロパティをfalseに...
-
unityでのC++エラーの原因がわ...
-
ボタンの複数割り当てについて
-
C#で別のFormへ複数の値を返そ...
-
エンターキーを押すとOKボタン...
-
LVM_SETITEMSTATEでListViewの...
-
ユーザーコントロールを動的に...
-
[C#.net]スレッド化された別フ...
-
C# 矢印キーの取得
-
C#から、C++で作成したdll内の...
-
C# DataGridView列カスタマイズ
-
C#でキーイベントが発生しない...
-
Thread.sleepのInterruptedExce...
-
C#でのオブジェクトのコピーに...
-
C# 半角カナの文字化けについて
-
文字列の置換
おすすめ情報