提供多个窗口窗口进行数据的录入。并且把每个窗口写成一个类。
录入完一个窗口后通过点击“下一步”进入下一个窗口。当最后一个窗口的录入结束后,点击“完成”后,把这些数据做初步处理后,提示用户这些数据是否达到要求,如"否",返回到第一个窗口重新录入,"是",则把这些数据保存到各自的变量中。这些都可以实现,但要如何才能在main函数中提取这些数据呢?程序的意思大至是这样的:
main(){
InputWindow_1 inputWin_1 = new InputWindow_1(); // 1
InputWindow_2 inputWin_2 = new InputWindow_2(); // 2
InputWindow_3 inputWin_3 = new InputWindow_3(); // 3inputWin_1.setVisible(true); // 4
....
}从inputWin_1开始,点击“下一步”后都会隐藏本窗口并显示下一个窗口,直到满意所有输入数据的初步处理结果为止,才dispose()这三个窗口。但要怎样才能把最后的数据传递到main函数中进行后续的处理呢?请有这方面经验的兄弟赐教!
注:1,2,3行建立完成窗口后,还没有录入数据,main中已开始4行及其后的执行,所以如果用一个数组作参数传递给录入窗口,来保存输入的数据,这也可以,但在这个数组还没有被赋值的时候,main的所有语句就执行完了。
实在头疼,到底有什么方法可以解决这些问题,谁能帮我一下!先谢啦。
对这个问题感兴起的兄弟,也请大家帮我顶一顶。

解决方案 »

  1.   

    用add来添加inputWin_1,点下一步后用remove方法把inputWin_1从上层容器中移除,再add(inputWin_2),然后重新布局来显示inputWin_2内容(invalidate()validate())。这样做太麻烦了,建议使用CardLayout,做这样上一步、下一步最适合。
      

  2.   

    感谢楼上,你用CardLayout的建议真好。
    但是问题还是没有解决,也话是我说的不太清楚。
    我是在main方法的运行过程中显示这几个子窗口的,所以当录入完毕后,要把录入的数据返回给main方法中继续进行处理。但是,在main方法中显示了这些子窗口后,main方法并没有停止,而是继续进行。要怎么才能在录入完毕后,把值传递回main方法中呢?
    谢谢!