2017-01-01 56 views
-1

我想在提交選擇後進行文本冒險,我希望它移動到下一個方法並允許您再次按下提交。我將如何做到這一點?如何在另一種方法中使用按鈕?

private void submitActionPerformed(java.awt.event.ActionEvent evt) {          
    if (option1.isSelected()) { 
     one(); 
    } else if (option2.isSelected()) { 
     two();    
    } else { 

    } 
}          

private void one() { 
    //Button action here 
} 

回答

1

您需要重新調整思路。這是不是下一個方法要打電話,而是下一個狀態 - 你要具體情況取決於用戶是要改變你的模型(你的程序的邏輯部分)的狀態什麼他所做的迴應,並根據此狀態將程序的行爲更改爲用戶的迴應。你不想做的事情就是按照你現在正在做的那樣硬編碼你的代碼,因爲這會導致嚴格的程序,程序不能適應用戶選擇的變化或者程序本身的邏輯改變。

再次,你的一般問題的最佳解決方案是齒輪你使用state design pattern在程序的輸入響應取決於模型(控制發生了什麼對象)的狀態程序。

+0

我該怎麼做? –

+0

@GerryStraatsma:你正在尋找一個簡單的單一代碼解決方案,它不存在。相反,解決方案是在更深層次上學習java和編程,並學會將您的代碼與數據分離,將您的邏輯與用戶交互進行分離。 –

+0

@GerryStraatsma:否則爲了更好地回答問題,發佈更多有關您的代碼和問題的相關信息,包括[mcve]以及更多相關的背景信息。你現在的問題非常廣泛,非常一般,所以唯一合適的解決方案也是非常廣泛和普遍的。 –

0

如果我理解正確,同樣的按鈕將用於冒險的進展。如果是這樣的話,你可以從註冊第一個ActionListener開始,其actionPerformed()對應一個。在該方法結束時,您可以deregister聽衆並註冊一個新的,其actionPerformed執行是two()

+0

這將如何在我的代碼中看起來像? –

+0

@GerryStraatsma:如果你遵循這條道路並繼續使用硬編碼的剛性代碼,那麼你在咆哮着錯誤的樹,並且朝着一點點但是沮喪的方向前進。 –

相關問題