我試着運行下面的代碼,但是當單選按鈕trueButton或falseButton被選中時,它不會跳出for循環。跳出for循環
for(;;){
if (trueButton.isSelected() || falseButton.isSelected()){
System.out.print("Selected");
break;
}
}
但是,如果我添加System.out.println(「」);在if語句之前,當選擇trueButton或falseButton時,我可以跳出for循環。
for(;;){
System.out.println("");
if (trueButton.isSelected() || falseButton.isSelected()){
System.out.print("Selected");
break;
}
}
反正我有可以打破循環,而不if語句之前加入的System.out.println(「」)?
如果有人能解釋第一個代碼爲什麼不起作用,那將會很棒。
由於我是編程新手,如果我對任何事情一無所知,請原諒我。
編輯:我已經創建了一個類似的場景,以供大家測試。
public static void main(String[] args){
JFrame window = new JFrame("Hello");
JRadioButton trueButton = new JRadioButton("True ");
JRadioButton falseButton = new JRadioButton("False ");
window.setSize(400, 325);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setLayout(new FlowLayout());
window.add(trueButton);
window.add(falseButton);
trueButton.setVisible(true);
falseButton.setVisible(true);
window.setVisible(true);
for(;;){
if (trueButton.isSelected() || falseButton.isSelected()){
System.out.println("Selected");
break;
}
}
System.out.println("Done");
}
如果我們設法打破循環,應該打印「完成」。
爲什麼不使用while循環? 'while(!trueButton.isSelected()&&!falseButton.isSelected()){} System.out.print(「Selected」);'另外,如果你使用Swing,這基本上會破壞你的GUI。 – Compass
你確定沒有其他區別嗎?因爲這沒有意義 –
這種情況應該在按鈕上使用監聽器,並按照按鍵操作。 – jr593