2014-02-20 26 views
14

前言(這是一個自答案後)如何使用CardLayout使用Netbeans GUI Builder中

我已經得到我的腳溼使用Netbeans GUI構建器,但我只是沒有開始跳水時給它學習更復雜的細節。我甚至不知道從設計角度改變佈局管理器的熱點,我只是手工編寫代碼。所以我試着詢問Google諮詢臺「如何在Netbeans GUI Builder中使用不同的佈局管理器」,並且在結果的前幾頁中出人意料地發現了zilch。在Eclipse Window Builder中,通過調色板,您可以拖放不同的佈局管理器,爲什麼不在GUI Builder中。瞧,經過幾個小時的搜索後,我從容器組件的上下文菜單中找到了神奇的Set Layout。現在我準備好統治世界了!

我想我會拋出一些關於如何使用GUI Builder中的不同佈局管理器的教程,這裏是所以其他人不會去禿頭撕裂他們的頭髮試圖弄清楚我一直在尋找什麼我。在完成CardLayout(下面)的第一個教程之後,我準備發佈我的努力並輸入問題頁面的標題,「如何使用Netlaans GUI Builder的CardLayout」什麼... !!。已經有一些關於這個話題的問題!!我想我應該讓我的Google查詢更加精確。 DOHH!

無論如何,我現在有了這個教程,它比其他答案中提供的教程更具信息性,所以我的努力​​不會被浪費(所以我告訴自己:D)。也許我會製作一系列的這些內容。我們拭目以待。現在,享受如何使用CardLayout:P

+0

我想重複標誌應交換 - 在其他問題接受的答案僅僅是場外教程鏈接(這是不是這麼一個可以接受的答案,反正)。 – whrrgarbl

回答

53

如何使用CardLayout

  1. 隨着新JFrame窗體中添加一個JPanel,幾JButtons的形式,所以它看起來像這樣

    enter image description here

    您的導航窗格應該如下所示。注意我更改了變量名稱。您可以通過右鍵單擊導航器中的組件並選擇更改變量名稱來完成此操作。

    enter image description here

  2. 現在我們本身的mainPanel佈局CardLayout。雙擊導航器中的mainPanel,以便在設計視圖中單獨顯示。然後在導航器中右鍵單擊它並選擇設置佈局 - > CardLayout。你現在導航儀應該是這樣

    enter image description here

  3. 現在我們要去不同JPanels添加到mainPanel。只需右鍵點擊導航器中的mainPanel,然後選擇從Palette - > Swing Containers - > JPanel添加。這樣做三次,所以你有三個不同的JPanels。我也改變了他們的變量名稱。你的導航器不應該看起來像這樣。

    enter image description here

  4. 佈局部分設定,但讓我們添加一些標籤,這樣我們就可以在JPanels區分,改變他們的卡名稱。所以請從導航器中雙擊panelOne。您將在設計視圖中看到面板。只需拖放JLabel即可,並將標籤的文字編輯爲Panel One。對另外兩個人也這樣做,相應地爲他們的標籤命名。完成後,導航器應該看起來像這樣。

    enter image description here

    我們也想改變被賦予爲CardLayout引用該面板的名稱。我們可以通過雙擊其中一個面板(panelOne)並轉到屬性窗格來完成此操作。在底部,你會看到一個屬性Card Name。只需將其更改爲任何你想要的,我用panelOne。這樣做對其他兩個JPanel

    enter image description here

    注:在任何時候,你可以改變佈局位置,說要代替panelOnepanelTwo最初顯示的。只需右鍵點擊mainPanel並選擇更改訂單。您可以在訂單上向上或向下移動面板。我們差不多完成了。我們只需將偵聽器添加到按鈕即可在CardLayout中的面板之間切換。因此,從導航器中雙擊框架。你現在應該看到按鈕。右鍵單擊Panel One按鈕。並選擇Events -> Action -> actionPerformed。您應該在源代碼視圖中看到自動生成的代碼。添加這段代碼

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

    這樣做對其他兩個按鈕,確保通過相應的面板的正確名稱爲show方法。

如果您按照以上5個步驟操作,程序應運行如下。

enter image description here


它也可以拖動和其他類的JPanel表單類拖放到mainPanel,如果你有別人你想使用。這可能是更大的非平凡案例的首選方法,以避免低俗的課程。

enter image description here

+3

它的真棒..▲ –

+0

@peeskillet如果其他獨立面板在框架之外如何進行事件?例如,回到主面板。 –

相關問題