2011-12-28 55 views
3

好吧,我正在设计一个GUI。通常我已经完成了一些图形用户界面(GUI),它们需要一定的初始输入,然后启动程序来完成这项工作。但现在我需要一些与众不同的东西。我需要一个正在运行的程序,指向A,触发一个GUI并执行huts,直到选中一个复选框。一旦选定,程序将在GUI中接受输入,并使用GUI输入中新创建的变量继续执行。程序执行和GUI

我的问题是做这件事的最好方法是什么?事件,窗口,动作监听器?这种类型的东西很容易与JavaScript和PHP,但从来没有这样在java之前这样做。不知道该怎么谷歌或从哪里去。尽我所能去google一些例子,直到我在这里得到回复。谢谢大家。

我已经尝试过这么远的响应,但它引发了屏幕中间一个巨大的混乱的巨大blob。不确定。乱码意味着什么,看起来像单选按钮的某种属性。它确实起作用。它停止执行。

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); 

回答

4

看起来你会需要一个modal dialog

+1

好的。我正在使用一个框架。但这可能会起作用。我也在研究:http://docs.oracle.com/javase/tutorial/uiswing/misc/modality.html – whitewolfpgh 2011-12-28 13:56:09

2

很难说...... Swing会给你非常完整的灵活性,你想要做的..什么

您可以用对话框架作为基础窗口就完事了 - 然后在进步米显示你在哪里,然后在过程中的正确点提示。

2

关于听力部分...

我会用ItemListener接口,直到选择特定的复选框,你停止执行的部分。看起来你不需要更多的听众,但如果我是你,我会通过Thread运行程序。这样,只要你觉得合适,你就可以开始和停止执行。

3

正如mre所说,您创建了一个模式窗口并将该程序作为参数传递给gui。当gui结束时,它会要求程序(这是在构建模态窗口时通过的变量)重新开始工作。

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]); 

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