序文(これは自己回答の投稿です)
私はNetbeans GUIビルダーで足を濡らしましたが、もっと複雑な詳細を学ぶために、そこに飛び込むことは始めていません。デザインビューからレイアウトマネージャーを変更するのが難しいことさえ知らなかったので、手動でコーディングしました。そこで、「Netbeans GUIビルダーでさまざまなレイアウトマネージャーを使用する方法」を尋ねてGoogleヘルプデスクに尋ねてみたところ、意外にも最初の数ページにzilchが見つかりました結果。 Eclipseウィンドウビルダーでは、パレットからドロップレイアウトマネージャーをドラッグできるので、GUIビルダーではできません。驚いたことに、何時間も検索した後、コンテナコンポーネントのコンテキストメニューから不思議なSet Layoutを見つけました。これで世界を支配する準備ができました!
私はGUIビルダーからさまざまなレイアウトマネージャーを使用する方法についてのいくつかのチュートリアルを投げ込んだと思った、ここSOなので、他の人が私が何をしているかを理解しようとして髪の毛をはがせないだろうCardLayout
(下)の最初のチュートリアルを完了した後、私は自分の取り組みを投稿して質問するページのタイトルに入力する準備ができました "NetBeans GUIビルダーでCardLayoutを使用する方法"。What the ... !!。これに関してすでにいくつかの質問がありましたトピック!! Googleクエリをもっと正確にすべきだったと思います。
とにかく、私はこのチュートリアルを今持っています。これは他の回答で提供されているものよりもさらに有益なので、私の努力は無駄になりませんでした(だから私は自分自身に言います:D)。多分私はこれらのツタンのシリーズを作るでしょう。わかります。とりあえずお楽しみくださいCardLayoutの使い方:P
新しいJFrame
フォームで、JPanel
、いくつかのJButtons
をフォームに追加すると、次のようになります
ナビゲーターペインは次のようになります。変数名を変更したことに注意してください。ナビゲーターからコンポーネントを右クリックし、change variable nameを選択することでそれを行うことができます。
次に、mainPanel
のレイアウトをCardLayout
に設定します。ナビゲーターのmainPanel
をダブルクリックして、デザインビューでそれ自体が表示されるようにします。次に、ナビゲーターでそれを右クリックし、レイアウトの設定-> CardLayoutを選択します。ナビゲーターは次のようになります。
次に、異なるJPanels
をmainPanel
に追加します。ナビゲーターからmainPanel
を右クリックして、パレットから追加-> Swingコンテナー-> JPanelを選択します。これを3回繰り返して、3つの異なるJPanels
を作成します。変数名も変更しました。ナビゲーターは次のようになっていません。
レイアウト部分は設定されていますが、JPanels
を区別し、それらのカード名を変更できるように、いくつかのラベルを追加できます。ナビゲーターからpanelOne
をダブルクリックします。パネルがデザインビューに表示されます。 JLabel
をドラッグアンドドロップして、ラベルのテキストをPanel One
に編集します。他の2つについても同様に、ラベルに名前を付けます。完了すると、ナビゲーターは次のようになります。
_CardLayout
参照として指定されたパネルの名前も変更します。これを行うには、パネル(panelOne
)の1つをダブルクリックして、プロパティペインに移動します。下の方に、プロパティCard Name
が表示されます。好きなように変更してください。私はpanelOne
を使用しました。他の2つのJPanel
注:いつでも、panelTwo
ではなくpanelOne
を最初に表示するようにレイアウトの位置を変更できます。 mainPanel
を右クリックして、Change Orderを選択します。パネルは順番に上下に移動できます。
あと少しで完了です。 CardLayout
のパネルを切り替えるには、ボタンにリスナーを追加するだけです。ナビゲーターからフレームをダブルクリックします。ボタンが表示されます。 Panel One
ボタンを右クリックします。 Events -> Action -> actionPerformed
を選択します。ソースコードビューに自動生成されたコードが表示されます。このコードを追加
private void jbtPanelOneActionPerformed(ActionEvent evt) {
CardLayout card = (CardLayout)mainPanel.getLayout();
card.show(mainPanel, "panelOne");
}
他の2つのボタンについても同様に、対応するパネルの正しい名前をshow
メソッドに渡してください。
上記の5つの手順を実行した場合、プログラムは次のように実行されます。
他のクラスJPanelフォームクラスをmainPanel
にドラッグアンドドロップすることもできます。これは、巨大なクラスを回避するために、より大きな重要な場合に推奨されるアプローチです。