2012-04-18 235 views
-2

我正在爲我的項目創建一個GUI。我完全被困在一個點上。我能夠創建一個圖形用戶界面,它將進行一些簡單的查詢,例如發行版本號,命令名稱以及其他一些布爾問題。Java GUI的問題

現在我想讓用戶按繼續按鈕移動到GUI窗體的下一頁。我已經創建了繼續按鈕,但現在我需要向它註冊一個事件。這是我卡住的地方。我不知道我可以註冊哪些事件,這會將GUI移動到下一頁。 (通過轉到下一頁,我的意思是我們在爲計算機安裝軟件時看到的不同GUI頁面。)

例如,如果我正在安裝iTunes,我首先選擇單選按鈕「我接受條款和條件「,然後按繼續下一步按鈕繼續前進。如果我需要回來,我會按BACK按鈕。

一個合乎邏輯的答案是創建另一個GUI窗體,然後將其鏈接到我首先創建的窗體。

編輯::這是我第一次在Java工作,所以我可能忽略了一些明顯的事實。

+0

*「一個合理的解決方案是產生另一GUI的形式,然後將其鏈接到我創建第一個。」 *請參閱[多JFrames,好/壞的做法的使用? ](http://stackoverflow.com/a/9554657/418556) 這個GUI需要'CardLayout' – 2012-04-18 15:41:46

回答

1

查看CardLayout,添加幾個JPanel到CardLayout使用容器,然後交換到下一個視圖(下一個JPanel),在JButton的ActionListener中調用佈局的next(...)方法。您也可以使用其show(...)方法隨機訪問CardLayout持有的組件。

要了解更多關於此的示例代碼,請查看CardLayout TutorialAPI

+1

OP發佈他的問題的方式,你可能想要包含一個ActionListener。 – 2012-04-18 14:43:13

+0

@安吉洛:你有一點。我希望他有足夠的主動性來查看擺動JButton的工作之前如何,但你永遠不知道。 – 2012-04-18 14:44:52

+0

我的描述可能含糊不清,但我完全瞭解actionListeners和JButton。 – NumbersInMyHead 2012-04-18 14:56:46

1

那麼,用按鈕註冊ActionListenerAction。要執行該向導風格,請查看CardLayout佈局管理器以切換卡片或使用選項卡窗格,隱藏這些選項卡並將它們切換到動作或動作偵聽器中。

1

如果我的理解,我認爲你應該使用CardLayout

1

如果您正在使用的Swing,您可以使用JPanel的幾個實例在JFrame的一個實例。

你可以有類似的東西結構:

JFrame 
    +------JPanel:root 
      | 
      +---JPanel:current // This panel change by other instance 
      | 
      +---JPanel:controlPanel // This panel contains you button 

在您按鈕需要添加的ActionListener與方法addActionListener方法

面板控制可能需要改變你的元素,可能按鈕的文本或刪除聆聽者和其他人的改變。

我希望能幫助