みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

コンポーネントの組み込みについて

アプレットでもAWTアプリでもSwingアプリでもなんでもいいんですが、
特定の条件を満たした時に、はじめは表示されていないボタンやテキストフィールドなどを後から表示させたいのですが、できません。
単純にadd()ではできないようで…
やり方を教えていただけませんか。。
下は、10秒後にボタンが表示されるように自分で作ってみたサンプルアプレットです。

//<applet code="buttonsample.class" width=300 height=200></applet>

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

public class buttonsample extends Applet implements Runnable
{
int count; //カウント
Thread th; //スレッド
Button BT; //ボタン

public void init()
{
setLayout(new FlowLayout());
count = 0;

BT = new Button();
BT.setLabel("ボタン");
}

public void start()
{
if(th == null)
{
th = new Thread(this);
th.start();
}
}
public void stop()
{
th = null;
}

public void run()
{
while(count < 10)
{
repaint();
count++;
try
{
Thread.sleep(1000);
}
catch(InterruptedException e){}
}
add(BT);
}
public void paint(Graphics g)
{
g.drawString(""+(count+1),100,100);
}
}

<EOS>

投稿日時 - 2006-08-08 18:48:56

QNo.2327660

暇なときに回答ください

質問者が選んだベストアンサー

-----------

add(BT);
validate();

-----------

validate() :

このコンテナおよびすべてのサブコンポーネントを検証します。
validate メソッドを使用して、コンテナに再びそのサブコンポーネントを配置させます。このコンテナが表示されてから、コンテナのサブコンポーネントが変更された (コンテナへの追加または削除、レイアウト関連の情報の変更) 場合に呼び出す必要があります。

だそうです。

参考URL:http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/Container.html#validate()

投稿日時 - 2006-08-09 20:43:29

お礼

ありがとうございます!!!!!
できました!!!!
どうもです!!!!

投稿日時 - 2006-08-09 23:59:22

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問