電子書籍の厳選無料作品が豊富!

タイトルのようなアプレットを作りたいのですがなぜか実行されません。どこがおかしいのでしょうか?

(文字数制限のため省略)
{
private JButton bt[] = new JButton[9];
private JPanel pn[] = new JPanel[2];
int i;
public void init()
{

Container cnt = getContentPane();

for(i=0; i<9; i++){
add(bt[i] = new JButton(""));
}
pn[0] = new JPanel();
pn[1] = new JPanel();

//上パネルに置くボタン6つ
bt[0].setSize(80,80);
bt[0].setLocation(0,0);
bt[1].setSize(80,80);
bt[1].setLocation(80,0);
bt[2].setSize(80,80);
bt[2].setLocation(160,0);
bt[3].setSize(80,80);
bt[3].setLocation(0,80);
bt[4].setSize(80,80);
bt[4].setLocation(80,80);
bt[5].setSize(80,80);
bt[5].setLocation(160,80);

//下パネルに置くボタン3つ
bt[6].setSize(80,80);
bt[6].setLocation(0,200);
bt[7].setSize(80,80);
bt[7].setLocation(80,200);
bt[8].setSize(80,80);
bt[8].setLocation(160,200);

//上パネルと下パネルの作成
pn[0].setLocation(0,0);
pn[1].setLocation(0,200);

//ボタンをパネルに付ける
pn[0].add(bt[0]);
pn[0].add(bt[1]);
pn[0].add(bt[2]);
pn[0].add(bt[3]);
pn[0].add(bt[4]);
pn[0].add(bt[5]);

pn[1].add(bt[6]);
pn[1].add(bt[7]);
pn[1].add(bt[8]);

//コンテナへ追加
cnt.add(pn[0]);
cnt.add(pn[1]);
}
}
座標を指定してボタンを設置する方法にしたいと思っています。
ちなみに完成図はこのような感じにしたいです。


□□□
□□□

□□□

A 回答 (2件)

おかしなとこをいくつか


add(bt[i] = new JButton(""));
 → ボタンはパネルに追加するのでここでは初期化のみ
 → bt[i] = new JButton("");
btn[6]~btn[8]の位置
 → パネル2に追加するので縦位置は0で
 → bt[6].setLocation(0,0);bt[7].setLocation(80,0);
追加処理
 → 各パネル、ボタンを絶対位置にするのでレイアウトなしに
 → cnt.setLayout( null );pn[0].setLayout( null );pn[1].setLayout( null );

パネルのサイズも指定する
 →pn[0].setSize( 240, 160 );pn[1].setSize( 240, 80 );

この回答への補足

ご返答ありがとうございます。
asahina02様の通りやってみても、上のパネルだけ表示されて下のパネルは表示されませんでした。

あと、なぜかパソコンを代えて実行すると、なぜか座標とサイズが無視されて2×3のはずが、1段目にボタン4つ、2段目にボタン2つでしかもボタンサイズが違います。パソコンによって実行結果が変わるのは何が原因なのでしょうか?
これと似ている症状で、コマンドプロンプトで「appletviewer (htmlファイル)」でアプレットビューアで実行するときと、htmlファイルのアイコンをダブルクリックして実行するときでは実行結果が違います。どうなっているのでしょうか?

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

> asahina02様の通りやってみても、上のパネルだけ表示されて下のパネルは表示されませんでした。


単にアプレットの表示サイズが小さいってことないですか?
元のソースから考えるに幅240の縦280が最低限必要っぽいですが


後の部分はスイマセン。ちと分かりません。
少なくとも私の環境ではappletviewerでやってもローカルでHTML表示しても、ちゃんとサーバー立ててHTML表示しても結果は変わらんです
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。
アプレットの表示サイズも問題ないです。しかし今日まで色々自分で調べて自己解決しました。いくつか単純なミスが見つかった事と、プログラム以前の他の設定などに誤りがありこのような結果になりました。どうもお騒がせしましたm(_ _)m

お礼日時:2006/06/29 06:58

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