2015-04-03 77 views
0

我有一個用於獲取整數的大量編號按鈕。無論如何,我可以編寫一個激活這些按鈕的方法,等待用戶點擊一個按鈕,停用它們並返回按下的整數。如何編寫一個方法,當按下按鈕時從一組數組中返回一個int值?

該方法將類似於JOptionPane.showInputDialog,因爲它會調出一個UI,然後在用戶輸入時返回一個int(而不是一個字符串)。

爲什麼我要這樣做,而不是通過監聽器類耗盡程序?長話短說,這個按鈕陣列用於獲取用於許多不同目的的整數,隨後運行的代碼根據程序中按鈕的使用位置而有很大不同。我在偵聽器中使用switch語句編寫了一些代碼,以便它運行適當的代碼。然而,閱讀和寫作難以令人難以置信。如上所述,返回一個int的方法將極大地簡化程序。

回答

0

您可以刪除偵聽器並添加一個偵聽器。但是如果你想使用返回值,你可以使用ArrayBlockingQueue。您添加到按鈕的偵聽器可以將int值置於阻塞隊列中。然後在主線程中,您可以將值從隊列中取出。 take方法將暫停主線程,直到按下按鈕。

+0

數組阻塞隊列是讓我的程序等待一個按鈕被按下的最佳方式嗎? – 2015-04-03 04:02:54

相關問題