更好地使用你自己的類和按鈕作爲字段,然後能夠直接獲得對組件所持按鈕的引用,或者更好的是能夠與公共增變器方法進行交互,這些方法可以改變按鈕狀態爲你(你想要的信息最少暴露於外界儘可能 - 封裝您的信息),是這樣的:
// assuming the JButtons are in an array
public void setButtonEnabled(int buttonIndex, boolean enabled) {
buttonArray[buttonIndex].setEnabled(enabled);
}
或者若將按鈕都在使用該按鈕一個HashMap相同的例子text字符串作爲鍵值:
// assuming the JButtons are in an hashmap
public void setButtonEnabled(String buttonMapKey, boolean enabled) {
JButton button = buttonMap.get(buttonMapKey);
if (button != null) {
button.setEnabled(enabled);
}
}
此外,您的代碼建議您使用NetBeans創建Swing代碼。我建議您在完全理解Swing之前避免這樣做,而是使用教程來幫助您學習如何手動創建Swing,因爲這會讓您更好地理解Swing的基礎。然後,當你理解得很好時,當然可以使用代碼生成軟件來加速開發時間,只有現在你纔會知道它在表面下的作用,並且你將能夠更好地控制它。
好運!
通過調用「組件[]譜曲」,您可以得到任何Container上的所有JConponents,但你必須內部迭代「組件[]譜曲」和測試「如果(譜曲[INT] instenceof JButton的,但對於正確的方式跟隨@Hovercraft Full of Eels +1對來自UserAccess/Rights的分離的GUI邏輯的建議 – mKorbel