2011-12-28 57 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]); 

還有其他的方法,但這是我會用什麼。沒有單選按鈕。