※ ChatGPTを利用し、要約された質問です(原文:パネルを切替ると、リサイズするまで一部が非表示に)
パネルを切替ると、リサイズするまで一部が非表示に
このQ&Aのポイント
Java初心者です。住所録の登録・削除等を操作するアプレットを作成しています。パネルの内容を変更し、再表示しようとしたところ、一部が表示されない現象が起きて困っています。
削除対象検索時から削除内容確認時へとパネルの内容を変更するために、一旦パネルをクリアし、再び編集して表示していますが、操作用パネルがリサイズするまで表示されません。
現在は、リサイズを実行して無理やり表示させている状態ですが、よりスマートな方法を探しています。CardLayoutを使用しない理由もあり、他の解決方法を教えていただけませんか?
Java初心者です。タイトルが意味不明でしたら申し訳ありません。
住所録の登録・削除等を操作するアプレットを作成しています。
パネルの内容を変更し、再表示しようとしたところ、アプレット画面をリサイズしなければ一部が表示されないという現象が起きて困っています。
モード(登録・削除・変更等)別にパネルを作成し、アプレット全体を覆うようにして表示しています。
例えば
DeletePanel…削除対象検索時→ラベル・操作用パネル(テキストエリア・ボタン)
…削除内容確認時→ラベル・操作用パネル(テキストフィールド・ボタン)
というようにです。
上記のラベルはsetTextで表示文章のみを変え、操作用パネルはひとつのパネルをモード・機能別に内容だけ変更して使用しています。
そこで、削除対象検索時から削除内容確認時へとDeletePanelの内容を変更するために、一旦DeletePanel.removeAll()し、
再びinit()で別機能用のDeletePanelに再編集しadd(DeletePanel)をするのですが、
どういうわけか操作用パネルがアプレットビューアをリサイズするまで表示してくれません。
しかも、なぜかラベルはきちんと表示してくれます。
操作用パネルには、さらに細かなパネル・ボタンなどをaddしているので、それが原因なんでしょうか・・・。
現在は、切替えてaddした直後に、resize(width,height)を実行して、アプレットをリサイズして無理やり表示させている状態なのですが、気に食わないです。
CardLayoutを使えば簡単にできるようですが、少々理由があり、敢えて使用していません。
よろしくお願いします。
お礼
ありがとうございました!できました!