小博老师解析Java核心技术 ——JSwing选择型控件

[引言]前端

咱们在学习Java编程的时候,若是须要开发客户端窗体类型的程序,可使用JDK中的awt和swing库。本文开始小博老师就继续为你们演示Java窗体编程中的各种控件,今天主要讲解的是各种选择型控件。编程

[步骤阅读一]单选按钮控件JRadioButton学习

以前咱们学习了JSwing中的文本类型控件,可让用户自由输入文本信息,可是有的时候,咱们须要让用户提供的信息,并非随意输入的,而是有必定的范围让用户选择,好比用户的性别、兴趣爱好、所在城市等等场景,此时文本类型控件就有点没法知足咱们的需求了,所以咱们须要借助选择型控件。code

首先咱们来了解单选按钮控件JRadioButton,它的特色是能够提供多个选项,让用户在多个选项中选择一项,须要注意的是,用户只能选择其中的一个选项,若是用户修改了选项,以前的选项则会取消选中,这个效果咱们通常称为互斥效果。咱们经过一个简单的选择性别效果来体验下单选按钮控件,核心代码以下:blog

public class ControllerFrame extends JFrame{ip

public ControllerFrame(){开发

super("博为峰教育");get

setBounds(200, 100, 300, 300);io

setLayout(null);class

// 实例化 单选按钮 控件

JRadioButton rb1 = new JRadioButton("男");

rb1.setBounds(20, 20, 40, 25);

add(rb1);

JRadioButton rb2 = new JRadioButton("女");

rb2.setBounds(65, 20, 40, 25);

add(rb2);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

实例化窗体而且运行,看到窗体效果以下:


 

可是仅仅这样的话,单选按钮之间是不会出现互斥效果的:

 

用户能够同时选中多个属性,没有互斥效果,这是由于这两个单选按钮控件没有存放在同一个按钮分组中,咱们在开发的时候千万要注意,须要出现互斥效果的单选按钮,必需要存放到同一个按钮分组中,在同一个按钮分组中的单选按钮控件,才会出现互斥效果。咱们修改代码以下:

public class ControllerFrame extends JFrame{

public ControllerFrame(){

super("博为峰教育");

setBounds(200, 100, 300, 300);

setLayout(null);

// 实例化 单选按钮 控件

JRadioButton rb1 = new JRadioButton("男");

rb1.setBounds(20, 20, 40, 25);

add(rb1);

JRadioButton rb2 = new JRadioButton("女");

rb2.setBounds(65, 20, 40, 25);

add(rb2);

// 建立按钮分组

ButtonGroup group = new ButtonGroup();

// 将单选按钮控件添加到按钮分组中

group.add(rb1);

group.add(rb2);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

此时,单选按钮就会出现互斥效果了:

 

[步骤阅读二]复选框控件JCheckBox

接下来小博老师再带领你们了解复选框控件JCheckBox,它的特色是能够提供多个选项,让用户在多个选项中选择多项,须要注意的是,用户能够选择其中的多个选项。咱们经过一个简单的选择学习课程的效果来体验下复选框控件,核心代码以下:

public class ControllerFrame extends JFrame{

public ControllerFrame(){

super("博为峰教育");

setBounds(200, 100, 300, 300);

setLayout(null);

// 实例化 单选按钮 控件

JCheckBox cbx1 = new JCheckBox("全栈Java课程");

cbx1.setBounds(20, 20, 150, 25);

add(cbx1);

JCheckBox cbx2 = new JCheckBox("全栈UI+Web前端课程");

cbx2.setBounds(20, 50, 150, 25);

add(cbx2);

JCheckBox cbx3 = new JCheckBox("全栈iOS课程");

cbx3.setBounds(20, 80, 150, 25);

add(cbx3);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

实例化窗体而且运行,看到窗体效果以下:

 

 

[步骤阅读三]组合框控件JComboBox

接下来小博老师再带领你们了解组合框控件JComboBox,它的特色和单选按钮控件有点相似,能够提供多个选项,让用户在多个选项中选择一项,可是若是提供的选项比较多时,会占用大量界面空间,所以组合框控件提供的选项是隐藏的,用户点击了下拉按钮时,选项才会下拉显示出来,选择完后,选项再次收缩隐藏。咱们经过一个简单的选择学习校区的效果来体验下组合框控件,核心代码以下:

public class ControllerFrame extends JFrame{

public ControllerFrame(){

super("博为峰教育");

setBounds(200, 100, 300, 300);

setLayout(null);

// 为组合框控件准备选项

String[] options = new String[]{

"上海漕河泾校区",

"北京回龙观校区",

"深圳华强北校区",

"南京新街口校区",

"成都航空路校区",

};

// 实例化 组合框 控件

JComboBox cbx = new JComboBox(options);

cbx.setBounds(20, 20, 150, 25);

add(cbx);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

实例化窗体而且运行,看到窗体效果以下:

 

相关文章
相关标签/搜索