Java 创建向导Swing

Java 创建向导Swing,java,swing,wizard,Java,Swing,Wizard,我想用swing制作一个向导。我注意到JOptionPane就像一个向导一样工作,只是输入量和组织方式是有限的 有人知道JOptionPane如何“等待”直到给出所需的输入并按下右键,然后在最后返回值吗 有人知道如何使用JOptionPane来创建向导的典型卡片布局吗?你说的“等待”是什么意思?在阻止执行直到按下按钮的意义上,是指“等待”吗?如果是这样,有很多解决方案,但最简单的解决方案之一是: while(block) { Thread.sleep(500); } 对话框设置bloc

我想用swing制作一个向导。我注意到JOptionPane就像一个向导一样工作,只是输入量和组织方式是有限的

有人知道JOptionPane如何“等待”直到给出所需的输入并按下右键,然后在最后返回值吗

有人知道如何使用JOptionPane来创建向导的典型卡片布局吗?

你说的“等待”是什么意思?在阻止执行直到按下按钮的意义上,是指“等待”吗?如果是这样,有很多解决方案,但最简单的解决方案之一是:

while(block) {
    Thread.sleep(500);
}
对话框设置
block=false当按下确定按钮时。有更复杂的解决方案,这只是一个例子

如果您的意思是“等待”,即必须填写所有字段,那么您可以轻松地为每个字段实现一个侦听器,以便在编辑最后一个字段时启用OK按钮

您可以查看
JDialog
的源代码,例如。我认为阻塞部分是通过超级类
对话框中的
show()
方法完成的


我的小贴士:不要尝试自己从头开始创建多页向导,也不要尝试阻止任何东西等。这通常会导致更多问题。相反,请遵循类似的教程。它解释了如何使用对话框作为向导的基础。

您可以将任意内容添加到
作业窗格中,如图所示。该内容可以是具有
卡片布局的面板,如图所示。给定
JOptionPane.OK\u CANCEL\u选项
JOptionPane
将等待,直到单击任一按钮。如果结果是
JOptionPane.OK\u选项
,您可以根据需要检查卡的内容。

我认为您需要一个带有
CardLayout
的模态
JDialog
来交换向导的屏幕。当<代码> jCalue不可见时,您可以从中获得状态并决定如何继续。

可能有用,也可以考虑<代码> JTabDeBase< /Cord>作为“代码> CARDFrase”的替代。