多くのチュートリアル、記事、質問を読んでも、GUI の更新についてまだ混乱しています。さらに、この Web サイトには関連する質問が数多くありますが、まだ運がありません。私の問題は非常に単純だと思いますが。
基本的に、ルートコンテナとして JLayeredPane を持つ JFrame があります。そして、その中にJPanelのレイヤーがいくつかあります。
主な問題は、この JLayeredPane で特定の JPanel を更新することです。そして、この特定の Panel に対して、内部のコンテンツを変更する update メソッドを実装しました。
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()
これらのメソッドはいつどのように呼び出す必要がありますか? それとも、これらの方法と私が解決しようとしている問題を考えると、これは私がすべきことの正しい方法ではありませんか?
お時間をいただきありがとうございます。