使用Java的JCheckBox组件

2018-02-27 15:04欧阳桂秀
电子技术与软件工程 2018年19期
关键词:属性

欧阳桂秀

摘要

介紹了Java的Swing组件JCheckBox的常用属性、事件响应使用组件JCheckBox显示多个选项,用户可根据需要选择其中的一项或多项。

【关键词】Java JCheckBox 属性 事件响应

1 引言

Java的Swing组件JCheckBox是复选框,其特点是为用户提供多个选项,用户可以选中其中的一项或多项。

它的继承关系如下:

java.awt.Component

4java.awt.Container

L,javax.swing.JComponent

4javax.swing.AbstractButton

4javax.swing.JToggleButton

4javax.swing.JCheckBox

2 JCheckBox组件的常用属性

boolean isSelected():返回是否被选中的状态。返回值为true,选中。返回值为false,没有选中。

void setSelected(boolean b):设置是否选中。

3 事件响应

JCheckBox能够产生ActionEvent和ItemEvent事件。当单击复选框时,产生ActionEvent事件。当复选框的状态发生改变 (即:复选框被选中或者取消选中)时,产生ItemEvent事件。

JCheckBox注册ActionEvent事件监听者的方法是addActionListener(),处理该事件的接口是ActionListener,具体的事件处理的程序放在该接口中的方法public voidactionPerformed(ActionEvent e)里面。

JCheckBox注册ItenrEvent事件监听者的方法是addItemListener(),处理该事件的接口是ItemListener,具体的事件处理的程序放在该接口中的方法public voiditemStateChanged(ItemEvent e)里面。4使用JCheckBox组件的实例

【例1】使用JCheckBox组件,在三种电子产品中进行选择,选择结果显示在标签中。

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class Buy extends JAppletimplements ItemListener,ActionListener

{

double cellphone=0,computer=0,mp3=0,sum=0;

Mabel label1,label2,label3,label4;

Mutton button;

JTextField text;

JCheckBox check1,check2,check3;

JPanel contentPane,JPanell,JPanel2,JPanel3,p4;

public void init()

{

contentPane=(JJPanel)getContentPane();

contentPane.setLayout(newGridLayout(4,1));

labell=new JLabel("请选择想要购买的电子产品,计算需要多少钱?”

label2=new JLabel("合计(单位元):");

labe13=new JLabel("");

label4=new JLabel();

button=new JButton("结束购物");

text=new JTextField(30);

checkl=new JCheckBox("手机2100元");

check2=new JCheckBox("电脑4300元");

check3=new JCheckBox("MP3音乐播放器280元");

panel1=new JPanel();

panell.add(label4);

panell.add(label1);

contentPane.add(JPanel1);

panel2-new JPanel();

panel2.add(check1);

panel2.add(check2);

panel2.add(check3);

contentPane.add(pancl2);

panel3=new JPanel();

panel3.add(label2);

panel3.add(label3);

contentPane.add(Panel3);

p4=new JPanel():

p4.add(button);

p4.add(text);

contentPane.add(p4);

check1.addItemListener(this);

check2.addltemListener(this);

check3.addItemListener(this);

button.addActionListener(this);

}

public void itemStateChanged(ItemEvente)

{String str;

if(checkl.isSelected()==true)cellphone=2100;

else cellphone=0;

if(check2.isSelected()==true)computer=4300;

else computer-0;

if(check3.isSelected()==true)mp3-280;

else mp3=0;

sum=cellphone+computer+mp3;

str=String.valueOf(sum);

label3.setText(str);

}

public void actionPerformed(ActionEvente)

{String str2="感谢您的惠顾,期待您的再次光临!";

if(e.getSource()==button)

text.setText(str2);

}

}

本例,Buy类实现了两种接口ItemListener和ActionListener,复选框添加监听者的方法是addItemListener(),对应的事件处理放在方法public void itemStateChanged(ItemEvent e)里,当单击复选框,选中(或取消选中)某些选项时,会执行该方法。按钮添加监听者的方法是addActionListener,对应的事件处理放在方法public void actionPerformed(ActionEvent e)里,当单击“结束购物”按钮时,会执行该方法。

运行结果如图1所示。

5 结束语

通过学习Java的Swing组件JCheckBox,我们可以使用JCheckBox显示多个选项,如果用户选中其中一项或多项,相关的事件处理就会执行。

参考文献

[1]耿祥义.Java2实用教程[M].清华大学出版社,2017.

[2]李刚.疯狂Java讲义[M].北京:電子工业出版社,2017.

[3]明日科技.Java从入门到精通[M].清华大学出版社,2016.

猜你喜欢
属性
对两种实体观的探析