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.JCheckBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; /** * 单选按钮 调用ActionListener改变字体 * * @author Administrator * */ public class CheckBoxTest { public static void main(String[] args) { EventQueue.invokeLater(new Runnable(){ public void run() { CheckBoxFrame frame = new CheckBoxFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }); } } class CheckBoxFrame extends JFrame{ public CheckBoxFrame (){ setTitle("CheckBoxText"); setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT); label = new JLabel("The quick brown fox jumps over the lazy dog."); label.setFont(new Font("Serif",Font.PLAIN,FONTSIZE)); add(label,BorderLayout.CENTER); //BorderLayout.Conter [布局方式] /*** * 事件操作 */ ActionListener listener = new ActionListener(){ public void actionPerformed(ActionEvent arg0) { int mode = 0 ; //如果选中要做什么 if(bold.isSelected()) mode += Font.BOLD; if(italic.isSelected()) mode += Font.ITALIC; label.setFont(new Font("Serif",mode,FONTSIZE)); } }; /** * 添加面榜 */ JPanel buttonPanel = new JPanel(); bold = new JCheckBox("Bold"); bold.addActionListener(listener); buttonPanel.add(bold); italic = new JCheckBox("Italic"); italic.addActionListener(listener); buttonPanel.add(italic); add(buttonPanel,BorderLayout.SOUTH); } public static final int DEFAULT_WIDTH = 300; public static final int DEFAULT_HEIGHT = 200; private static final int FONTSIZE = 12 ; private JLabel label ; private JCheckBox bold; private JCheckBox italic; }