学了几天的CheckBox,终于学会了一些,哈哈,进度是慢了一点,不过总算是学会了checkBox的一点用法。
package checkboxTest;
/**程序:让你了解复选框
*
* 通过复选框的选择,字体可以变为常规、粗体、斜体
*
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class CheckboxTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CheckboxFrame checkbox=new CheckboxFrame();
checkbox.setTitle("CheckboxTest");
checkbox.setDefaultCloseOperation(checkbox.EXIT_ON_CLOSE);
checkbox.setVisible(true);
}
}
//窗口类
class CheckboxFrame extends JFrame{
//构造方法
public CheckboxFrame(){
this.setLocation(300, 200);
this.setSize(300, 200);
CheckboxPanel panel=new CheckboxPanel();
this.add(panel);
}
}
//面板类
class CheckboxPanel extends JPanel{
public final JLabel words;
public final JCheckBox heiti; //黑体按钮
public final JCheckBox xieti; //斜体按钮
private static final int FONTSIZE=12;
public ActionListener check;
//创建监听对象
//构造方法
public CheckboxPanel(){
this.setSize(250, 140);
//this.setLayout(new BorderLayout());
words =new JLabel("看我变魔术给你看看!");
words.setFont(new Font("Serif",Font.PLAIN,FONTSIZE));
heiti=new JCheckBox("黑体");
xieti=new JCheckBox("斜体");
//注册监听
check=new ActionListener() //ActionListener 为监听接口
{
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
int mode=0;
if(heiti.isSelected()==true){
mode+=Font.BOLD;
}
if(xieti.isSelected()==true){
mode+=Font.ITALIC;
}
words.setFont(new Font("serif",mode,FONTSIZE));
}
};
heiti.addActionListener(check);
xieti.addActionListener(check);
//将组件添加到面板中去
this.add(words);
this.add(heiti);
this.add(xieti);
}
}