web-dev-qa-db-ja.com

NetBeans GUIビルダーでCardLayoutを使用する方法

序文(これは自己回答の投稿です)

私はNetbeans GUIビルダーで足を濡らしましたが、もっと複雑な詳細を学ぶために、そこに飛び込むことは始めていません。デザインビューからレイアウトマネージャーを変更するのが難しいことさえ知らなかったので、手動でコーディングしました。そこで、「Netbeans GUIビルダーでさまざまなレイアウトマネージャーを使用する方法」を尋ねてGoogleヘルプデスクに尋ねてみたところ、意外にも最初の数ページにzilchが見つかりました結果。 Eclipseウィンドウビルダーでは、パレットからドロップレイアウトマネージャーをドラッグできるので、GUIビルダーではできません。驚いたことに、何時間も検索した後、コンテナコンポーネントのコンテキストメニューから不思議なSet Layoutを見つけました。これで世界を支配する準備ができました!

私はGUIビルダーからさまざまなレイアウトマネージャーを使用する方法についてのいくつかのチュートリアルを投げ込んだと思った、ここSOなので、他の人が私が何をしているかを理解しようとして髪の毛をはがせないだろうCardLayout(下)の最初のチュートリアルを完了した後、私は自分の取り組みを投稿して質問するページのタイトルに入力する準備ができました "NetBeans GUIビルダーでCardLayoutを使用する方法"What the ... !!。これに関してすでにいくつかの質問がありましたトピック!! Googleクエリをもっと正確にすべきだったと思います。

とにかく、私はこのチュートリアルを今持っています。これは他の回答で提供されているものよりもさらに有益なので、私の努力は無駄になりませんでした(だから私は自分自身に言います:D)。多分私はこれらのツタンのシリーズを作るでしょう。わかります。とりあえずお楽しみくださいCardLayoutの使い方:P

21
Paul Samsotha

CardLayoutの使い方

  1. 新しいJFrameフォームで、JPanel、いくつかのJButtonsをフォームに追加すると、次のようになります

    enter image description here

    ナビゲーターペインは次のようになります。変数名を変更したことに注意してください。ナビゲーターからコンポーネントを右クリックし、change variable nameを選択することでそれを行うことができます。

    enter image description here

  2. 次に、mainPanelのレイアウトをCardLayoutに設定します。ナビゲーターのmainPanelをダブルクリックして、デザインビューでそれ自体が表示されるようにします。次に、ナビゲーターでそれを右クリックし、レイアウトの設定-> CardLayoutを選択します。ナビゲーターは次のようになります。

    enter image description here

  3. 次に、異なるJPanelsmainPanelに追加します。ナビゲーターからmainPanelを右クリックして、パレットから追加-> Swingコンテナー-> JPanelを選択します。これを3回繰り返して、3つの異なるJPanelsを作成します。変数名も変更しました。ナビゲーターは次のようになっていません。

    enter image description here

  4. レイアウト部分は設定されていますが、JPanelsを区別し、それらのカード名を変更できるように、いくつかのラベルを追加できます。ナビゲーターからpanelOneをダブルクリックします。パネルがデザインビューに表示されます。 JLabelをドラッグアンドドロップして、ラベルのテキストをPanel Oneに編集します。他の2つについても同様に、ラベルに名前を付けます。完了すると、ナビゲーターは次のようになります。

    enter image description here

    _CardLayout参照として指定されたパネルの名前も変更します。これを行うには、パネル(panelOne)の1つをダブルクリックして、プロパティペインに移動します。下の方に、プロパティCard Nameが表示されます。好きなように変更してください。私はpanelOneを使用しました。他の2つのJPanel

    enter image description here

    注:いつでも、panelTwoではなくpanelOneを最初に表示するようにレイアウトの位置を変更できます。 mainPanelを右クリックして、Change Orderを選択します。パネルは順番に上下に移動できます。

  5. あと少しで完了です。 CardLayoutのパネルを切り替えるには、ボタンにリスナーを追加するだけです。ナビゲーターからフレームをダブルクリックします。ボタンが表示されます。 Panel Oneボタンを右クリックします。 Events -> Action -> actionPerformedを選択します。ソースコードビューに自動生成されたコードが表示されます。このコードを追加

    private void jbtPanelOneActionPerformed(ActionEvent evt) {                                            
        CardLayout card = (CardLayout)mainPanel.getLayout();
        card.show(mainPanel, "panelOne");
    } 
    

    他の2つのボタンについても同様に、対応するパネルの正しい名前をshowメソッドに渡してください。

上記の5つの手順を実行した場合、プログラムは次のように実行されます。

enter image description here


他のクラスJPanelフォームクラスをmainPanelにドラッグアンドドロップすることもできます。これは、巨大なクラスを回避するために、より大きな重要な場合に推奨されるアプローチです。

enter image description here

62
Paul Samsotha