多くのチュートリアル、記事、質問を読んでいますが、私はまだGUIの更新に関する混乱があります。さらに、私の問題は非常にシンプルだとは思うが、このウェブサイトには多くの関連する質問があり、まだ運がない。JFrameの実行中にJLayeredPaneを更新する方法は? java
基本的には、ルートコンテナとしてJLayeredPaneを持つJFrameがあります。そして私はそこにJPanelsのいくつかの層を持っています。
主な問題は、このJLayeredPane内の特定のJPanelを更新することです。そしてこの特定のパネルでは、内部の内容を変更する更新メソッドを実装しました。
updatePanel(int para)
//doesn't remove this panel
//removes some existing labels and replaces it with new ones
フレーム全体を作成すると、明らかにこのメソッドを呼び出すだけで、フレームが表示されることはありません。
private void static main (String[] args){
WindowFrame frame = new WindowFrame()//WindowFrame extends JFrame
frame.updatePanel(2);
.....
.....
}
これは私が立ち往生しているところです。フレームが表示されたら内容を更新したい。
私はこれらの方法を人々が言及したのを見ましたが、問題の性質上、私はその概念を完全に把握できませんでした。さらに、これらのメソッドに関するドキュメントは、少なくとも私にとっては本当に助けにはなりません。
revalidate()
validate()
repaint()
どのようにこれらのメソッドを呼び出す必要がありますか?それとも、私が解決しようとしているこれらの方法や問題を考えれば、これは正しいことではありませんか?
ありがとうございます。
質問と回答http://stackoverflow.com/questions/9885855/how-to-dynamically-add-jbutton-to-jpanel/9885927#9885927便利かもしれません – Robin