在上篇文章中,3個(gè)單選按鈕同時(shí)都可以被選中,這個(gè)就不符合實(shí)際開發(fā)中所用到的單選按鈕的要求。在實(shí)際開發(fā)中,需要的單選按鈕被選中,其他的單選按鈕自動(dòng)被置為未選中狀態(tài),要產(chǎn)生這種效果,就要使用到按鈕組。下面將通過實(shí)例來說明如何將幾個(gè)單選按鈕劃分到按鈕組中。其代碼如下所示:
/**
*這段代碼主要是展示如何創(chuàng)建單選按鈕組件,并且將這些單選按妞組件添加到一個(gè)按鈕組中
*/
publicclassBWF{
publicstaticintwidth=300;
publicstaticintheight=200;
publicstaticvoidmain(String args[]){
JFrame jf=newJFrame("添加單選按鈕組件");
jf.setSize(width,height);
JPanel contentPane=newJPanel();
JRadioButton jr1=newJRadioButton("忽略");//創(chuàng)建單選按鈕
JRadioButton jr2=newJRadioButton("繼續(xù)");
JRadioButton jr3=newJRadioButton("跳過");
ButtonGroupbuttonGroup=newButtonGroup();//將三個(gè)單選按鈕劃分到一個(gè)按鈕組中去
buttonGroup.add(jr1);
buttonGroup.add(jr2);
buttonGroup.add(jr3);
contentPane.add(jr1);//將按鈕添加到內(nèi)容面板中
contentPane.add(jr2);
contentPane.add(jr3);
jf.setContentPane(contentPane);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}
}
經(jīng)過上述程序代碼的處理后,圖中的三個(gè)按鈕只能在同一個(gè)時(shí)間內(nèi)選擇一個(gè),而不能同時(shí)選擇多個(gè)。另外,有一個(gè)實(shí)際應(yīng)用的小技巧,當(dāng)一個(gè)界面上有很多個(gè)單選按鈕時(shí),可以將同一類的單選按鈕劃分到同一個(gè)按鈕組中,這樣就可以形成多個(gè)按鈕組,用于執(zhí)行特殊的功能。
下面將給出一個(gè)綜合實(shí)例,這個(gè)實(shí)例將多個(gè)單選按鈕組件分別分成多個(gè)按鈕組,其具體代碼如下所示:
/**
*這段代碼主要是展示如何創(chuàng)建單選按鈕組件,以及如何將它們放在不同的按鈕組件中
*/
publicclassBWF{
publicstaticintwidth=300;
publicstaticintheight=200;
publicstaticvoidmain(String args[]){
JFrame jf=newJFrame("添加單選按鈕組件");
jf.setSize(width,height);
JPanel contentPane=newJPanel();
JRadioButton jr1=newJRadioButton("乒乓球");//創(chuàng)建單選按鈕
JRadioButton jr2=newJRadioButton("籃球");
JRadioButton jr3=newJRadioButton("電視書");
JRadioButton jr4=newJRadioButton("數(shù)學(xué)書");
JRadioButton jr5=newJRadioButton("電影");
JRadioButton jr6=newJRadioButton("錄像");
ButtonGroup buttonGroup1=newButtonGroup();//將單選按鈕劃分到一個(gè)按鈕組中去
buttonGroup1.add(jr1);
buttonGroup1.add(jr2);
ButtonGroup buttonGroup2=newButtonGroup();
buttonGroup2.add(jr3);
buttonGroup2.add(jr4);
ButtonGroup buttonGroup3=newButtonGroup();
buttonGroup3.add(jr5);
buttonGroup3.add(jr6);
contentPane.add(jr1);//將按鈕添加到內(nèi)容面板中
contentPane.add(jr2);
contentPane.add(jr3);
contentPane.add(jr4);
contentPane.add(jr5);
contentPane.add(jr6);
jf.setContentPane(contentPane);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}
}