程序执行和图形用户界面

3
好的,我正在设计一个GUI界面。通常我做的GUI需要一组特定的初始输入,然后启动程序来完成工作。但现在我需要一个略微不同的程序。我需要一个正在运行的程序,到达A点后,触发一个GUI并暂停执行,直到选中一个复选框。一旦选择了复选框,程序将获取GUI中的输入,并使用新创建的变量继续执行。
我的问题是什么是最好的方法?事件、窗口、动作监听器?这种事情在javascript和php中很容易,但以前从未像这样在java中做过。不确定该google什么或者从哪里开始。尽我所能在google上找到一些例子,直到在这里得到回复。谢谢大家。
到目前为止,我已经尝试了一些答案,但它会在屏幕中间产生一大堆混乱的东西。不确定那些乱码的含义,看起来像是单选按钮的某些属性。虽然它的功能正常,但它会使程序暂停执行。
JRadioButton rb1 = new JRadioButton("Modify 1");
JRadioButton rb2 = new JRadioButton("Modify 2");
JRadioButton rb3 = new JRadioButton("Modify 3");
JRadioButton rb4 = new JRadioButton("Modify 4");
JOptionPane.showInputDialog(null, "Please choose Scenario."+rb1+rb2+rb3+rb4,JOptionPane.QUESTION_MESSAGE);
5个回答

4

1
好的。我之前使用了一个框架,但这个方法可能有效。我也在研究这个:http://docs.oracle.com/javase/tutorial/uiswing/misc/modality.html - whitewolfpgh

3

正如mre所说,您可以创建一个模态窗口,并将程序作为参数传递给GUI。 当GUI完成时,它会要求该程序(这是在模态窗口构造时传递的变量)恢复其工作。


2

很难说...... Swing 给你几乎完全的灵活性,让你可以做任何想做的事情。

你也许能够使用对话框作为基本窗口 - 然后添加进度条来显示进度,然后在过程中的合适时间提示用户。


2

关于监听部分...

我建议在需要暂停执行直到选择特定复选框的部分使用ItemListener接口。看起来你不需要更多的监听器,但如果我是你,我会通过Thread运行程序。这样,你可以在任何时候启动和停止执行。


2

你可以使用JOptionPane.showOptionDialog(...)来实现这个功能,以下是示例:

    Object[] senario = {"first", "second", "third", "last"};

    int n = JOptionPane.showOptionDialog(null,
            "Pick a senario",
            "Choose!",
            JOptionPane.DEFAULT_OPTION,
            JOptionPane.QUESTION_MESSAGE,
            null,
            senario,
            senario[0]);

    System.out.println("Your choice was: " + senario[n]);

还有其他方法,但这是我会使用的方法。不过没有单选按钮。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接