2014-12-06 94 views
-1

我有循環是這樣的:暫停循環,直到用戶點擊一個按鈕

do{ 
    /* method is randomly choosing next question from database */ 
    /* Question keep possibly answers aswell */ 
    Question question = questionBase.getNextQuestion(); 

    /* creating new panel with label with question and buttons with answers */ 
    QuestionPanel qPanel = new QuestionPanel(question); 

    /* show panel to user */ 
    myJFrame.setContentPane(qPanel); 
    myJFrame.validate(); 

    /* wait till user will answer - so when button from panel qPanel is clicked */ 
    /* how?? */ 

}while(!isEnd()); 

我曾嘗試是一個簡單的while(qPanel.isAnswered() == false())循環當我checkign標誌answered這是對真正的設置被點擊按鈕時。但桂不刷新在所有的Cuz while循環

我試圖把鞦韆工人,但我的主循環DoWhile沒有等待他的執行力,什麼是合理的。

我試圖揮杆定時器但是我的主迴路不回採的。

也許我在錯誤的方式使用它。但是,解決我的問題的最佳方法是什麼?

+0

你需要使用threads.or你可以問下一個問題在用戶回答問題後,你不需要線程 – 2014-12-06 12:40:07

回答

1

..what是解決我的問題,最好的方法?

  • 在回答或檢查答案
  • 一個動作偵聽器添加到按鈕向用戶提供該按鈕來鎖。
  • 當檢測到動作時,繼續進行。

(而忽略你需要一個線程建議你已經有一個 - 。在事件指派線程,並且不需要另外)

+1

正確。完全跳過了它是gui的部分,它可以有ActionListeners。尼斯提醒謝謝。將立即刪除評論 – Codeek 2014-12-06 12:48:31

+0

你能告訴我如何「當檢測到動作事件」部分看起來像,一些教程或不適合? – ilovkatie 2014-12-06 12:50:18

+0

*「can you show me .. some tutorial ..」*提示:將'X java tutorial'放入您最喜歡的搜索引擎中,其中'X'可能等於您正在研究的內容,例如'行動事件'。按照頂部鏈接。 – 2014-12-06 12:52:49