2012-04-18 347 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方法

面板控制可能需要改变你的元素,可能按钮的文本或删除聆听者和其他人的改变。

我希望能帮助