`
shenjichao2009
  • 浏览: 94610 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java中JCheckBox的使用

    博客分类:
  • Java
阅读更多

/**
*
*/
package com.duoguo.button;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;
import java.net.URL;

import javax.swing.ImageIcon;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

/**
* @author shyboy(chao.shen@duoguo.cn)
*
*/
@SuppressWarnings("serial")
public class CheckBoxDemo extends JPanel implements ItemListener {

private JCheckBox chinCheckBox;// 下巴复选框

private JCheckBox glassesCheckBox;// 眼睛复选框

private JCheckBox hairCheckBox;// 头发复选框

private JCheckBox toothCheckBox;// 牙齿复选框

private JPanel topPanel;

private JPanel bottomPanel;

private StringBuilder choices;

private JLabel pictureLabel;

/**
* 构造方法
*/
public CheckBoxDemo() {
chinCheckBox = new JCheckBox("下巴");
chinCheckBox.setMnemonic(KeyEvent.VK_1);// 快捷键ALT+1
chinCheckBox.setSelected(true);

glassesCheckBox = new JCheckBox("眼睛");
glassesCheckBox.setMnemonic(KeyEvent.VK_2);// 快捷键ALT+2
glassesCheckBox.setSelected(true);

hairCheckBox = new JCheckBox("头发");
hairCheckBox.setMnemonic(KeyEvent.VK_3);
hairCheckBox.setSelected(true);

toothCheckBox = new JCheckBox("牙齿");
toothCheckBox.setMnemonic(KeyEvent.VK_4);
toothCheckBox.setSelected(true);

chinCheckBox.addItemListener(this);
glassesCheckBox.addItemListener(this);
hairCheckBox.addItemListener(this);
toothCheckBox.addItemListener(this);

topPanel = new JPanel(new GridLayout(1, 4));
topPanel.add(chinCheckBox);
topPanel.add(glassesCheckBox);
topPanel.add(hairCheckBox);
topPanel.add(toothCheckBox);

choices = new StringBuilder("cght");
pictureLabel = new JLabel();
updatePicture();

bottomPanel = new JPanel(new FlowLayout());
bottomPanel.add(pictureLabel);

setLayout(new BorderLayout());
this.add(topPanel, BorderLayout.NORTH);
this.add(bottomPanel, BorderLayout.CENTER);
}

/**
* 更新图片
*/
public void updatePicture() {
ImageIcon imageIcon = createImageIcon("images/geek-"
+ choices.toString() + ".gif");

pictureLabel.setIcon(imageIcon);
pictureLabel.setToolTipText(choices.toString());

if (null == imageIcon) {
pictureLabel.setText("无图片");
} else {
pictureLabel.setText(null);
}
}

/**
* 设置复选框对应的相应图标
*
* @param path
* :图片路径
* @return ImageIcon
*/
public static ImageIcon createImageIcon(String path) {
if (null != path && !"".equals(path)) {
URL url = CheckBoxDemo.class.getResource(path);

if (null != url) {
return new ImageIcon(url);
} else {
System.err.println("找不到图片的……");
return null;
}
}

return null;
}

/**
* 创建并显示相应的界面
*/
public static void createAndShowGUI() {
JFrame jFrame = new JFrame("Swing中的JCheckBox");
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 当窗口被关闭时应用程序退出

CheckBoxDemo checkBoxDemo = new CheckBoxDemo();
checkBoxDemo.setOpaque(true);

jFrame.setContentPane(checkBoxDemo);
jFrame.pack();
jFrame.setVisible(true);
jFrame.setSize(500, 300);
jFrame.setLocation(300, 200);
}

/*
* (non-Javadoc)
*
* @see
* java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent)
*/
@Override
public void itemStateChanged(ItemEvent e) {
int index = 0;
char c = '-';

Object source = e.getItemSelectable();
if (source == chinCheckBox) {
index = 0;
c = 'c';
} else if (source == glassesCheckBox) {
index = 1;
c = 'g';
} else if (source == hairCheckBox) {
index = 2;
c = 'h';
} else if (source == toothCheckBox) {
index = 3;
c = 't';
}

if (e.getStateChange() == ItemEvent.DESELECTED) {
c = '-';
}

choices.setCharAt(index, c);
updatePicture();
}

/**
* @param args
*/
public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

@Override
public void run() {

createAndShowGUI();

}
});

}

}

  • JCheckBox.jar (90.6 KB)
  • 描述: 可直接运行
  • 下载次数: 87
  • 大小: 21.1 KB
分享到:
评论

相关推荐

    java 使用JCheckBox组件

    java 使用JCheckBox组件 java 使用JCheckBox组件 java 使用JCheckBox组件

    java JCheckBox事件处理

    java JCheckBox事件处理 java JCheckBox事件处理 java JCheckBox事件处理

    java swing-JCheckBox的使用

    JCheckBox是Swing库提供的一个复选框组件,可以用于在GUI应用程序中显示和选择多个选项。

    Java Swing JCheckbox JCombBox的组件

    NULL 博文链接:https://keke020.iteye.com/blog/932840

    Java Swing JCheckBox复选框的实现方法

    主要介绍了Java Swing JCheckBox复选框的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    随机生成多个JCheckBox,并获取选择的JCheckBox的文本内容

    在JFrame界面上随机生成多个JCheckBox,并获取选择的JCheckBox的文本内容,作为一个字符串。当取消某个JCheckBox的时候,又把字符串中含有此JCheckBox的文本去掉

    Jlist中添加Jcheckbox,实现鼠标动态移动列表项,动态添加Jcheckbox,右键动态删除列表项

    这是我之前做的一个项目要实现的一个功能,Jlist 动态添加删除移动Jcheckbox

    Java开发详解.zip

    031713_【第17章:Java数据库编程】_使用元数据分析数据库笔记.pdf 031714_【第17章:Java数据库编程】_使用JDBC连接Oracle笔记.pdf 031801_【第18章:图形界面】_AWT、Swing简介笔记.pdf 031802_【第18章:图形界面...

    java编程宝典

    1.3 JCheckBox用法 1 1.4 JList用法 2 1.5 JTable用法 3 1.6 JPanel绘制背景图 4 2数据库 5 2.1 增 8 2.1.1 单个增加 8 2.1.2 批量增加 8 2.2 删 8 2.2.1单个删除 8 2.1.2批量删除 9 2.3 改 9 2.4 查 9 2.4.1 根据...

    java swing使用小程序

    java 使用swing的样例,eclipse导入maven项目 JFrame JPanel JLabel JRadioButton JCheckBox JButton ActionListener使用小程序

    Java Swing组件复选框JCheckBox用法示例

    主要介绍了Java Swing组件复选框JCheckBox用法,结合具体实例形式分析了Swing复选框JCheckBox简单用法与相关操作注意事项,需要的朋友可以参考下

    Java软件设计基础课题

    GUI: Graphics User Interface 设计和实现GUI的主要难点 创建组成界面的各成分和元素,指定它们的属性和位置关系,根据具体需要布局排列,从而构成完整的GUI的外观表象;...JButton、JLabel、JTextField、JCheckBox…

    java初学者必看

    最近正在学习Java,也买了很多的有关Java方面的书籍,其中发现《跟我学Java》这本书,都的很不错啊,所以顺便拿电脑把这本书的目录敲了下来,与大家分享。尤其是那些和我一样初学Java的朋友们,看看哪一节对你有用,...

    java注册界面

    private JCheckBox [] jcbArray={new JCheckBox("电脑"),new JCheckBox("音乐"), new JCheckBox("旅游"),new JCheckBox("购物"),new JCheckBox("运动"),new JCheckBox("其他")}; private Vector<String> v; ...

    JComboBox With JCheckBox

    JComboCheckBox JComboBox与JCheckBox结合源码。 网上下载代码,修改了一点点。。。上传,以备后用。。

    java范例开发大全源代码

     实例154 使用静态成员变量计算内存中实例化的对象数目 239  实例155 实现加减乘除的方法 240  8.3 面向对象的设计模式 241  实例156 Singleton单例模式 242  实例157 招聘(简单工厂模式) 243  ...

    Java范例开发大全 (源程序)

     实例13 Java中的进制与移位运算符 22  第3章 条件控制语句(教学视频:75分钟) 26  3.1 if控制语句 26  实例14 判断输入的年份是否为闰年 26  实例15 抽奖活动 27  3.2 for语句 28  实例16 小九九...

    java范例开发大全

    实例13 Java中的进制与移位运算符 22 第3章 条件控制语句(教学视频:75分钟) 26 3.1 if控制语句 26 实例14 判断输入的年份是否为闰年 26 实例15 抽奖活动 27 3.2 for语句 28 实例16 小九九乘法表 28 实例17 如何列...

    java实验六.doc

    1.编写程序,使单选按钮可以使用isSelected()方法判断是否被选中,用getText()方法获得按钮的文本,JRadioButton对象也可以产生ItemEvent事件,该事件的处理方法与JCheckBox的处理方法相同。 2、编写程序,使...

Global site tag (gtag.js) - Google Analytics