這種情況:一組組件的狀態被保存到一個XML文件中。一切都很好。我試圖將相同的數據加載到相同的組件(儘管應用程序的其餘部分可能處於不同的狀態,例如應用程序的新實例)。可能有一次阻止actionlistener發射?
問題:其中一個組件是一個JRadioButton,我想使這個按鈕沒有導致它的ActionListener火(聽衆調用,可能不會在這個時間點被創建的對象)。
問題:是否可以在不觸發其偵聽器的情況下啓用JRadioButton?
這種情況:一組組件的狀態被保存到一個XML文件中。一切都很好。我試圖將相同的數據加載到相同的組件(儘管應用程序的其餘部分可能處於不同的狀態,例如應用程序的新實例)。可能有一次阻止actionlistener發射?
問題:其中一個組件是一個JRadioButton,我想使這個按鈕沒有導致它的ActionListener火(聽衆調用,可能不會在這個時間點被創建的對象)。
問題:是否可以在不觸發其偵聽器的情況下啓用JRadioButton?
我解決了這個問題。謝謝您的意見。
我做了什麼:我創建了一個布爾值'loading'。當我加載我的XML數據時,將其設置爲true,執行我想要執行的操作並將此值重新設置爲false。如果加載爲false,則僅在單選按鈕上執行actionPerformed。
我提出了我的建議,因爲代碼在程序的一部分中都是孤立的。任何時候你實施你的解決方案你都有三個地方的代碼。 1)你需要定義一個類變量。 2)當你加載XML文件時,你需要訪問變量。 3)當ActionListener被調用時,你需要訪問變量。 – camickr 2013-03-17 01:04:09
我能想到的一個單選按鈕上觸發的actionPerformed事件的唯一原因是它的選定狀態發生了變化(NBC不在ZOC上,因此儘管如此) – MadProgrammer 2013-03-16 23:55:36
對不起,我不確定我理解你的評論。 NBC和ZOC是什麼意思? – 2013-03-17 00:00:25
Haaa,1指,自動更正iPhone:P應該是「不在電腦」 – MadProgrammer 2013-03-17 00:02:10