java-Swing學習(實現兩個單選框互斥)
阿新 • • 發佈:2018-12-17
package test; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import javax.swing.*; import javax.swing.border.Border; import org.omg.CORBA.PUBLIC_MEMBER; //import java.awt.event.*; import java.net.*; import java.util.Vector; public class Wingui extends JFrame{ private String[] name ={"小明","小紅","小胖","小黑"}; private String[] choice ={"確定","取消"}; String str; public Wingui(){ final JRadioButton jr1 = new JRadioButton("男"); final JRadioButton jr2 = new JRadioButton("女"); Container container = getContentPane(); JComboBox jcb = new JComboBox(name); ButtonGroup bg = new ButtonGroup(); JPanel jp1 = new JPanel(); JPanel jp2 = new JPanel(); JPanel jp3 = new JPanel(); bg.add(jr1); bg.add(jr2); jp2.add(jr1); jp2.add(jr2); jr1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if(jr1.isSelected()){ jr2.setSelected(false); } } }); for( int i=0;i<2;i++){ new JButton(choice[i]); jp3.add(new JButton(choice[i])); } jp1.add(jcb); setLayout(new GridLayout(3,1)); jcb.setSelectedIndex(1); container.add(jp1); container.add(jp2); container.add(jp3); setSize(500,500); setVisible(true); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } public static void main(String[] args){ new Wingui(); } }
這是效果圖: