单选按钮
构造ButtonGroup类型对象。
将JRadioButton对象添加到按钮组中。
new JRadioButton("Small",false),第二个参数是初始状态。
buttonGroup.getSelection().getActionCommand()获得当前选中的按钮动作命令。
选择字体大小案例
package swing;import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionListener;import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;public class RadioButtonTest {private static final int DEFAULT_SIZE =36;private static JPanel buttonPanel = new JPanel();private static ButtonGroup buttonGroup = new ButtonGroup();private static JLabel label = new JLabel("敏捷的棕色狐狸跳过懒惰的狗.");public static void main(String[] args) {JFrame frame = new JFrame("单选按钮");label.setFont(new Font("Serif",Font.PLAIN,DEFAULT_SIZE));frame.add(label,BorderLayout.CENTER);addRadioButton("更小", 8);addRadioButton("中等", 12);addRadioButton("更大", 18);addRadioButton("巨大", 36);frame.add(buttonPanel,BorderLayout.SOUTH);frame.setSize(600, 400);//初始打开为屏幕中央Toolkit toolkit = Toolkit.getDefaultToolkit();Dimension screenSize = toolkit.getScreenSize();int screenWidth = (int) screenSize.getWidth();int screenHeight = (int) screenSize.getHeight();//计算窗口位置int x = (screenWidth - frame.getWidth())/2;int y = (screenHeight - frame.getHeight())/2;frame.setLocation(x, y);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);}public static void addRadioButton(String name,int size) {boolean selected = size == DEFAULT_SIZE;var button = new JRadioButton(name, selected);buttonGroup.add(button);buttonPanel.add(button);ActionListener listener = e -> label.setFont(new Font("Serif", Font.PLAIN, size));button.addActionListener(listener);}}