あなたの説明から、コンボボックスがクリックされた場合に表示したい、表示されていないパネルがありますか?それで、それはコンボボックスのどのオプションにも表示されますか?
それは十分に単純なはずです。このComboBoxDemoのをJavaチュートリアルから変更しJLabel
てみましょう。どちらもから継承しているので、とを同じように見えるようにすることができます。JComponent
JLabel
JPanel
まず、デモが何をしているのかを理解していることを確認してください。コンボボックスオプションは、JLabelの日付のテキストの形式を変更しています。JComboBoxでオプションを選択するまで、このJLabelが表示されないようにデモを編集します。
まず、クラス変数としてブール値を含めて、任意のメソッドでブール値にアクセスできるようにします。
boolean visibleComp;
次に、コンストラクターで、JLabelの「結果」をデフォルトで非表示に変更する必要があります。これは、JComponentのsetVisibleメソッドを使用して行うことができます。
result.setVisible(false);
次に、結果がいつどのように表示されるかを制御する必要があります。コードを続行すると、actionPerformed
メソッドがイベントを処理し、フォーマットの詳細を別のメソッドに渡すことがわかります。reformat.
コンストラクターでもreformatが呼び出されるため、actionPerformedメソッドでブール値を設定する必要があります。
visibleComp = true;
次に、再フォーマットのtryブロックに条件ステートメントを追加します。これにより、ブール値がtrueであるかどうかが確認されます。これは、ユーザーがアクションを実行した場合にのみ発生します。これを使用して、コンポーネントの可視性を設定できます。
if(visibleComp){
result.setVisible(true);
}
この例では、JPanelを簡単に交換できます。お役に立てば幸いです。