Swing を使用しているレガシー アプリケーションを使用していますが、ユーザーがボタンをクリックしたときに画面がどのように変化するかを理解するのに苦労しています。これを理解できない理由の 1 つは、Swing を初めて使用するためです。私は本を読んで基本を理解しましたが、まだ苦労しています。
基本的に、私が見ている画面には、左側に多数のショートカット ボタンがあり、右側に空のペインがある JSplitPane があります。ボタンをクリックすると、押されたボタンに応じて右側のペインに異なる画面が表示されます。
コードを調べてみると、押されたボタンに応じて setVisible() メソッドを呼び出すものがあると期待していました。
各ショートカット ボタンの actionPerformed メソッドは次のようになります。
void shortCutBtn_actionPerformed(ActionEvent e) {
propertyChangeListeners.firePropertyChange("selectedShortCut", previousShortCutSel, currentShortCutSel);
mainPanel.updateUI();
}
ほとんどのコードを調べたところ、上記のコードがフレーム切り替えの原因であるという結論に達しましたが、それがどのように起こっているのかわかりません。
各画面は、数値定数によって識別されます。上記のコード例では、previousShortCutSel と previousShortCutSel は、個々の画面 screen を表す数値を参照しています。
updateUI() がどのように機能するかのドキュメントを探してみましたが、わかりません。上記により、JSplitPanel の右側のパネルのコンテンツが新しい画面で更新されるのはどのようになりますか?