package com.swing.demo; import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.Font; import java.awt.event.ActionEvent; 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; /*** * RadiButton测试 * * @author Administrator * */ public class RadiButtonTest { public static void main(String[] args) { EventQueue.invokeLater(new Runnable(){ public void run() { RadiButtonFrame frame = new RadiButtonFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }); } } class RadiButtonFrame extends JFrame{ public RadiButtonFrame () { setTitle("RadiButton Test ."); setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT); label = new JLabel("The quik brown fox jumps over the Tazy dog ."); label.setFont(new Font("Serif",Font.PLAIN,DEFAULT_SIZE)); add(label,BorderLayout.CENTER); buttonPanel = new JPanel(); group = new ButtonGroup(); addRadiButton("Smal", 8 ); addRadiButton("Medium", 12 ); addRadiButton("Large", 18 ); addRadiButton("Extra", 36); add(buttonPanel,BorderLayout.SOUTH); } /* * 方法中根据选种的字体大小更换文本的大小 */ public void addRadiButton(String name,final int size) { boolean selected = size == DEFAULT_SIZE; //该参数为名称和是否选种 JRadioButton button = new JRadioButton(name,selected); group.add(button); buttonPanel.add(button); ActionListener listeer = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { label.setFont(new Font("Serif",Font.PLAIN,size)); } }; button.addActionListener(listeer); } public static final int DEFAULT_WIDTH = 400 ; public static final int DEFAULT_HEIGHT = 200; private JPanel buttonPanel; private ButtonGroup group ; private JLabel label; private static final int DEFAULT_SIZE = 12; }