您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
【第18章:图形界面】_复选框:JCheckBox
发布时间:2021-01-18 14:37:45编辑:雪饮阅读()
复选框的实现
使用javax.swing.JcheckBox类可以实例化复选框组件
import java.awt.Container ;
import java.awt.GridLayout ;
import javax.swing.JFrame ;
import javax.swing.JPanel ;
import javax.swing.JCheckBox ;
import javax.swing.BorderFactory ;
class MyCheckBox{
private JFrame frame = new JFrame("Welcome To kasumi") ;
private Container cont = frame.getContentPane() ; // 得到窗体容器
private JCheckBox jcb1 = new JCheckBox("kasumi") ; // 定义一个复选框
private JCheckBox jcb2 = new JCheckBox("snowDrink") ;
private JCheckBox jcb3 = new JCheckBox("momiji") ;
private JPanel pan = new JPanel() ;
public MyCheckBox(){
pan.setBorder(BorderFactory.createTitledBorder("请勾选喜欢的角色")) ;
pan.setLayout(new GridLayout(1,3)) ;
pan.add(this.jcb1) ;
pan.add(this.jcb2) ;
pan.add(this.jcb3) ;
cont.add(pan) ;
this.frame.setSize(330,80) ;
this.frame.setVisible(true) ;
}
}
public class Hello{
public static void main(String args[]) throws Exception{
new MyCheckBox() ;
}
};
复选框事件监听
实现java.awt.event.ItemListener接口的itemStateChanged方法可以对复选框选择事件进行监听
import java.io.File ;
import java.awt.Container ;
import java.awt.GridLayout ;
import java.awt.event.ItemListener ;
import java.awt.event.ItemEvent ;
import javax.swing.JFrame ;
import javax.swing.ImageIcon ;
import javax.swing.JPanel ;
import javax.swing.JCheckBox ;
import javax.swing.BorderFactory ;
class MyItemListener implements ItemListener{
private String right = "d:" + File.separator + "right.png" ;
private String wrong = "d:" + File.separator + "wrong.gif" ;
public void itemStateChanged(ItemEvent e){
// 不管如何操作,则肯定由JCheckBox产生事件
JCheckBox jcb = (JCheckBox)e.getItem() ; // 得到产生的事件
if(jcb.isSelected()){ // 如果被选中了,则显示正确的图片
jcb.setIcon(new ImageIcon(right)) ;
}else{
jcb.setIcon(new ImageIcon(wrong)) ;
}
}
}
class MyCheckBox{
private String wrong = "d:" + File.separator + "wrong.gif" ;
private JFrame frame = new JFrame("Welcome To kasumi") ;
private Container cont = frame.getContentPane() ;
private JCheckBox jcb1 = new JCheckBox("kasumi",new ImageIcon(wrong)) ;
private JCheckBox jcb2 = new JCheckBox("snowDrink",new ImageIcon(wrong)) ;
private JCheckBox jcb3 = new JCheckBox("ayane",new ImageIcon(wrong)) ;
private JPanel pan = new JPanel() ;
public MyCheckBox(){
pan.setBorder(BorderFactory.createTitledBorder("请选择喜欢的角色")) ;
pan.setLayout(new GridLayout(1,3)) ;
pan.add(this.jcb1) ;
pan.add(this.jcb2) ;
pan.add(this.jcb3) ;
//监听每个复选框的选择事件
jcb1.addItemListener(new MyItemListener()) ;
jcb2.addItemListener(new MyItemListener()) ;
jcb3.addItemListener(new MyItemListener()) ;
cont.add(pan) ;
this.frame.setSize(330,80) ;
this.frame.setVisible(true) ;
}
}
public class Hello{
public static void main(String args[]) throws Exception{
new MyCheckBox() ;
}
};
关键字词:java,复选框,JCheckBox