import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
* Title:演示JCheckBox使用
* Description:通过勾选不同的复选框来显示不同的图片
* @author fan
*
*/
public class MyCheckDemo extends JFrame implements ItemListener{
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* 定义四个复选框
*/
JCheckBox chinCheck, glassesCheck, hairCheck, teetchCheck;
/**
* 定义一个JLabel用来进行图片的显示
*/
JLabel pictureLabel;
/**
* 定义一个StringBuffer来标记需要进行显示的图片,利用setChar(int, char)来进行
*/
StringBuffer choices = new StringBuffer("cght");
/**
* 构造方法
*/
public MyCheckDemo(){
lunchFrame();
}
/**
* 进行界面的构造
*/
public void lunchFrame(){
this.setLayout(new BorderLayout());
JPanel check_Panel = new JPanel();
chinCheck = new JCheckBox("下巴(c)");
glassesCheck = new JCheckBox("眼镜(g)");
hairCheck = new JCheckBox("头发(h)");
teetchCheck = new JCheckBox("牙齿(t)");
chinCheck.setSelected(true);
glassesCheck.setSelected(true);
hairCheck.setSelected(true);
teetchCheck.setSelected(true);
chinCheck.addItemListener(this);
glassesCheck.addItemListener(this);
hairCheck.addItemListener(this);
teetchCheck.addItemListener(this);
check_Panel.setLayout(new GridLayout(0, 1));
check_Panel.add(chinCheck);
check_Panel.add(glassesCheck);
check_Panel.add(hairCheck);
check_Panel.add(teetchCheck);
JPanel pic_Panel = new JPanel();
pictureLabel = new JLabel();
pictureLabel.setFont(pictureLabel.getFont().deriveFont(Font.ITALIC));
this.updatePicture();
pic_Panel.add(pictureLabel);
this.getContentPane().add(check_Panel, BorderLayout.LINE_START);
this.getContentPane().add(pic_Panel, BorderLayout.CENTER);
this.setTitle("CheckDemo");
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.setCenterLocation();
}
/**
* 方法说明:将窗体定义到屏幕中间
*/
private void setCenterLocation(){
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
int w = this.getSize().width;
int h = this.getSize().height;
System.out.println("宽度: "+w+" ,高度:"+h);
int x = (dim.width - w)/2;
int y = (dim.height - h)/2;
this.setLocation(x, y);
}
/**
* 方法说明:生产图标
* @param path 图片的存放路径
* @return ImageIcon
*/
protected static ImageIcon createImageIcon(String path){
ImageIcon image = null;
try{
java.net.URL imgURL = MyButtonDemo.class.getClassLoader().getResource(path);
if(imgURL != null){
image = new ImageIcon(imgURL);
}else{
System.err.println("could not find file: "+path);
}
}catch(Exception e){
e.printStackTrace();
}
if(image != null){
return image;
}else{
return null;
}
}
/**
* 进行图片的更新
*/
public void updatePicture(){
//
ImageIcon icon = createImageIcon("base2011/images/geek/geek-"
+choices.toString()+".gif");
if(icon == null){
pictureLabel.setText("没有发现图片");
}else{
pictureLabel.setIcon(icon);
pictureLabel.setToolTipText(choices.toString());
}
}
/**
* 事件处理
*/
@Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
int index = 0;
char c = '-';
//选择事件发生
Object source = e.getSource();
if(source == chinCheck){
index = 0;
c = 'c';
}else if(source == glassesCheck){
index = 1;
c = 'g';
}else if(source == hairCheck){
index = 2;
c = 'h';
}else if(source == teetchCheck){
index = 3;
c = 't';
}
//取消选择事件
if(e.getStateChange() == ItemEvent.DESELECTED){
c = '-';
}
//该标识的名字
choices.setCharAt(index, c);
//更新图片
updatePicture();
}
/**
* 主方法
*/
public static void main(String[] args){
new MyCheckDemo();
}
}
分享到:
相关推荐
java 使用JCheckBox组件 java 使用JCheckBox组件 java 使用JCheckBox组件
java JCheckBox事件处理 java JCheckBox事件处理 java JCheckBox事件处理
在JFrame界面上随机生成多个JCheckBox,并获取选择的JCheckBox的文本内容,作为一个字符串。当取消某个JCheckBox的时候,又把字符串中含有此JCheckBox的文本去掉
关于在JTree上使用JCheckBox的一些资料整理 都是一些同行们些的实例
可直接运行 博文链接:https://shenjichao2009.iteye.com/blog/1178985
设置X和Y,根据JCheckBox设置颜色,
JCheckBox是Swing库提供的一个复选框组件,可以用于在GUI应用程序中显示和选择多个选项。
这是我之前做的一个项目要实现的一个功能,Jlist 动态添加删除移动Jcheckbox
JComboCheckBox JComboBox与JCheckBox结合源码。 网上下载代码,修改了一点点。。。上传,以备后用。。
16.2 JCheckBox&JRadioButton;当一个容器中放置了多个JCheckBox,可以有多个同时被选中,因此也称为复选框。 属性有:text , icon , mnemonic , horizontalAligment , selected等等; 方法有: JCheckBox( ) ...
NULL 博文链接:https://lisaiyu.iteye.com/blog/783135
主要介绍了Java Swing JCheckBox复选框的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
NULL 博文链接:https://keke020.iteye.com/blog/932840
一个JTable里添加CheckBox的完整例子,包括表头的JCheckBox全选联动
主要介绍了Java Swing组件复选框JCheckBox用法,结合具体实例形式分析了Swing复选框JCheckBox简单用法与相关操作注意事项,需要的朋友可以参考下
private JCheckBox [] jcbArray={new JCheckBox("电脑"),new JCheckBox("音乐"), new JCheckBox("旅游"),new JCheckBox("购物"),new JCheckBox("运动"),new JCheckBox("其他")}; private Vector<String> v; ...
协作 Beatbox MIDI 音序器应用程序,它使用 Swing GUI 实例来收集 16 行的 16 个 JCheckBox 对象的状态,每个对象代表通过使用 MIDI 事件在特定节拍上演奏的乐器。 JCheckBox 状态保存在一个数组中,根据选择的乐器...
JCheckBox jchkBold = new JCheckBox("Bold"); jchkBold.setSize(10,50); // Create a radio button with text red JRadioButton jrbRed = new JRadioButton("Red"); jrbRed.setSize(1,1); // Create a combo box...
一个多选的JComboBox完整例子,JComboBox下面包含JCheckBox
JCheckBox check1 = new JCheckBox("记住密码"); JCheckBox check2 = new JCheckBox("自动登陆"); // p1.setSize(360, 200); JPanel p21 = new JPanel(); JPanel p22 = new JPanel(); p21.add(new ...