我有這個代碼片段(實際上是代碼的一部分),在一個類中,我有所有Jbutton爲26個字母創建的。我有另一個課程記錄時間,當時間結束或遊戲結束時,我想一次性禁用所有26個JButton。如何從Java swing中的另一個類中禁用一個類中的多個JButton?
這裏是代碼創建Jbuttons中
public class DetailsPanel extends JPanel {
public DetailsPanel() {
setLayout(new BorderLayout());
setBorder(BorderFactory.createTitledBorder(" click here "));
JPanel letterPanel = new JPanel(new GridLayout(0, 5));
for (char alphabet = 'A'; alphabet <= 'Z'; alphabet++) {
String buttonText = String.valueOf(alphabet);
JButton letterButton = new JButton(buttonText);
letterButton.addActionListener(clickedbutton());
letterPanel.add(letterButton, BorderLayout.CENTER);
}
add(letterPanel, BorderLayout.CENTER);
}
}
在我maincontrol class
,我要關掉所有的Jbuttons中像
public class maincontrol {
int counter;
DetailsPanel dp;
public maincontrol(DetailsPanel dp) {
this.dp = dp;
int counter = 0;
}
public void turnoff(){
if (counter>10){
//turn off all here//
}
}
}
爲什麼不乾脆把按鈕,或者更好的AbstractActions,集合中,並給它一個'的setEnabled (布爾啓用)'方法。在該方法中遍歷集合設置每個按鈕或Action的enabled屬性。 –
對不起,我不明白你的意思 –
只要把你的按鈕放在'ArrayList'。給持有這些按鈕的類和這個列表設置一個方法來設置按鈕的狀態。在該方法中遍歷列表。這只不過是Java的基本功能。當然你已經使用了數組列表,並通過for循環遍歷它們,對吧? –