プロが教える店舗&オフィスのセキュリティ対策術

たびたびすみません、、、今度は別のクラスに記述したpaint()をメインでスレッド起動しても描写されません…オーバーライドか何かしなければいけないらしい情報を探し当てた気がするのですが、いまいちよくわかりません。。どうすればいいのでしょうか?
下に自分で作ってみたソースの抜粋を書きます。

import java.awt.*;
import java.awt.event.*;

class test extends Frame
{
subclass sc = new subclass();
Thread th=new Thread(sc);

public static void main(String args[])
{
test t=new test();
}

public test()
{
setTitle("Test");
setSize(300,200);
setVisible(true);

th.start();
//閉じる
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
}

class subclass extends Frame implements Runnable
{
int i;
public void run()
{
for(i=0;i<100;i++)
{
repaint();
}
try
{
Thread.sleep(1000);
}
catch(InterruptedException e){}
}
public void paint(Graphics g)
{
g.drawOval(i,i,50,50);
}
}

(EOS)
どうか教えていただける方、お願いします!!

A 回答 (2件)

>あ、これはわかりやすいように円が移動する簡単なものを書いてみたんですが、


>実際作りたいものは、メインとは別に日付や時刻、また時間によって色々表示を変えていくようなものをサ
>スレッドで動かしたいのです。

なるほど。ならば、マルチスレッドが必要
ですね。

ちなみにこのプログラムだと、コンパイル
通らないですよね?それは理解されていますか?

この回答への補足

あれ?コンパイルできません?
自分のと、別の場所のコンピュータでやりましたがコンパイル・実行はできましたが…

補足日時:2006/06/27 16:27
    • good
    • 0

ざっと見た感じだとスレッドを使う


必要性があるのかなと思いました。

通常のGUIアプリでマルチスレッドが
必要な機能は要件に入っていないですよね?

アプリケーションの仕様をおしえて
頂けないでしょうか?

この回答への補足

あ、これはわかりやすいように円が移動する簡単なものを書いてみたんですが、
実際作りたいものは、メインとは別に日付や時刻、また時間によって色々表示を変えていくようなものをサブスレッドで動かしたいのです。

補足日時:2006/06/27 10:32
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!