GUI编程基础学习(三)——单选按钮、复选框、组合框
单选按钮JRadioButton
JRadioButton组件用于实现一个单选按钮。JRadioButton类可以单独使用,也可以与ButtonGroup类联合使用,当其单独使用时,该单选按钮可以被选定和被取消选定;当与ButtonGroup类联合使用时,需要使用add()方法将JRadioButton添加到ButtonGroup中,组成一个单选按钮按钮组,此时用户只能选定按钮组中的一个单选按钮。
JRadioButton常用构造方法:
①JRadioButton(Icon icon):创建一个带图标的单选按钮
②JRadioButton(Icon icon,boolean isSeleted):创建一个带图标的单选按钮,可以设定其是否被选中
③JRadioButton(String text):创建一个带文本的单选按钮
④JRadioButton(String text,boolean isSelected):创建一个带文本的单选按钮,可以设定其是否被选中
⑤JRadioButton(String text,Icon icon,boolean isSelected):创建一个带文本图标和指定选中状态的单选按钮
JRadioButton常用方法:
①setText(String text):设置单选按钮使用的文本
②setSelected(boolean isSelected):设置单选按钮的选中状态
③setIcon(Icon icon):设置单选按钮使用到的图标
案例:使用单选按钮选择你的居住城市,点击提交按钮,弹框显示自己的选择。
import javax.swing.*;import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;public class Client extends JFrame{public Client(){JButton submit = new JButton("提交");this.getContentPane().add(new JLabel("选择你居住的城市:"));JRadioButton button1 = new JRadioButton("北京");//实例化四个单选按钮对象JRadioButton button2 = new JRadioButton("上海");JRadioButton button3 = new JRadioButton("南昌");JRadioButton button4 = new JRadioButton("杭州");ButtonGroup buttonGroup = new ButtonGroup();//实例化一个单选按钮组buttonGroup.add(button1);//向单选按钮组添加单选按钮buttonGroup.add(button2);buttonGroup.add(button3);buttonGroup.add(button4);this.getContentPane().setLayout(new FlowLayout());//设置布局为流布局this.getContentPane().add(button1);//添加单选按钮this.getContentPane().add(button2);this.getContentPane().add(button3);this.getContentPane().add(button4);this.getContentPane().add(submit);//添加提交按钮button1.setSelected(true);//设置北京单选按钮选中状态setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//当用户点击窗体右上角x时自动退出程序pack();//自适应setVisible(true);//展示窗体setLocationRelativeTo(null);//让窗口显示在屏幕正中间submit.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {if(button1.isSelected()){JOptionPane.showMessageDialog(null, "你目前住在北京。");}else if(button2.isSelected()){JOptionPane.showMessageDialog(null, "你目前住在上海。"); }else if(button3.isSelected()){JOptionPane.showMessageDialog(null, "你目前住在南昌。");}else{JOptionPane.showMessageDialog(null, "你目前住在杭州。");}}});}public static void main(String[] args) {new Client();}}
复选框JCheckBox
使用复选框可以进行多项选择,Swing中的复选框和AWT的复选框相比,优点是Swing复选框中可以添加图片。复选框可以为每一次的单机操作添加一个事件。
JCheckBox常用构造方法:
①JCheckBox(Icon icon):创建一个带图标的复选框
②JCheckBox(Icon icon,boolean isSelected):创建一个带图标以及指定选中状态的复选框
③JCheckBox(String text):创建一个带文本的复选框
④JCheckBox(String text,boolean isSelected):创建一个带文本以及指定选中状态的复选框
⑤JCheckBox(String text,Icon icon):创建一个带文本和图标的复选框
⑥JCheckBox(String text,Icon icon,boolean isSelected):创建一个带文本和图标以及指定选中状态的复选框
JCheckBox常用方法:
①isSelected():返回复选框状态,true时表示选中
②setSelected(boolean isSeleceted):设置复选框状态
案例:使用复选框选择你的爱好,点击提交按钮,弹框显示自己的选择
import java.awt.FlowLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;import javax.swing.*;public class Client extends JFrame{public Client(){JButton submit = new JButton("提交");JCheckBox read = new JCheckBox("阅读");JCheckBox sing = new JCheckBox("唱歌");JCheckBox dance = new JCheckBox("跳舞");JCheckBox code = new JCheckBox("编程");code.setSelected(true);//默认勾选编程复选框this.getContentPane().setLayout(new FlowLayout());//设置内置面板布局格式为流布局this.getContentPane().add(new JLabel("选择你的爱好:"));//添加标签到内置面板 this.getContentPane().add(read);//添加复选框到内置面板this.getContentPane().add(sing);this.getContentPane().add(dance);this.getContentPane().add(code);this.getContentPane().add(submit);//添加提交按钮到内置面板setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//当用户点击窗体右上角x时自动退出程序pack();//自适应setVisible(true);//展示窗体setLocationRelativeTo(null);//让窗口显示在屏幕正中间submit.addMouseListener(new MouseAdapter() {//添加点击事件@Overridepublic void mouseClicked(MouseEvent e) {String s = "你的爱好有";int index = 0;if(read.isSelected()){if(index>0)s += "、";s+="阅读";index++;}if(sing.isSelected()){if(index>0)s += "、";s+="唱歌";index++;}if(dance.isSelected()){if(index>0)s += "、";s+="跳舞";index++;}if(code.isSelected()){if(index>0)s += "、";s+="编程";index++;}JOptionPane.showMessageDialog(null, s);//弹框}});}public static void main(String[] args) {new Client();}}
组合框JComboBox
JComboBox组件用来创建组合框对象。根据组合框是否可编辑的状态,可以将组合框分为两种常见的外观。可编辑状态外观是文本框和下拉列表的组合,不可编辑状态外观是按钮和下拉列表的组合。在按钮或文本的右侧有一个带有三角符号的下拉按钮,用户点击该按钮,可以出现一个内容列表。组合框通常用于从列表的多个项目中选择一个的操作。
JComboBox常用构造方法:
①JComboBox():创建一个默认模型的组合框
②JComboBox(ComboBoxModel model):创建一个指定模型的组合框
③JComboBox(Object[] items):创建一个具有指定数组定义列表内容的组合框
案例:通过JComboBox设计一个选择年龄和选择喜欢水果的程序,点击提交按钮,显示选择。
import javax.swing.*;import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;public class Client extends JFrame{public Client(){JButton submit = new JButton("提交");String[] ages = new String[100];String[] fruits = {"西瓜","草莓","芒果","橙子"};for(int i=0;i<100;i++){ages[i] = i+"";}JComboBox comboBox1 = new JComboBox(ages);JComboBox comboBox2 = new JComboBox(fruits);comboBox1.setSelectedIndex(18);//默认18岁comboBox1.setEditable(false);//不可编辑comboBox2.setSelectedItem(fruits[2]);//默认芒果comboBox2.setEditable(true);//可编辑this.getContentPane().setLayout(new FlowLayout());//设置成流布局this.getContentPane().add(new JLabel("选择你的年龄和最爱的水果:"));this.getContentPane().add(comboBox1);//添加组合框到内置面板this.getContentPane().add(comboBox2);this.getContentPane().add(submit);//添加提交按钮到内置面板setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//当用户点击窗体右上角x时自动退出程序pack();//自适应setVisible(true);//展示窗体setLocationRelativeTo(null);//让窗口显示在屏幕正中间submit.addMouseListener(new MouseAdapter() {//添加点击事件@Overridepublic void mouseClicked(MouseEvent e) {String message = "你今年"+comboBox1.getSelectedItem()+"岁,你最爱的水果是"+comboBox2.getSelectedItem();JOptionPane.showMessageDialog(null, message);}});}public static void main(String[] args) {new Client();}}
GUI编程基础学习(三)——单选按钮、复选框、组合框相关推荐
- GUI编程基础学习(四)——常见几何图形的绘制
绘制直线 在Java中可以使用以下方法绘画一条直线 drawLine(int x1,int y1,int x2,int y2); 其中参数(x1,y1)是直线的起点,(x2,y2)是直线的终点 绘制矩 ...
- 零基础学习CANoe Panel(10)—— 组合框(ComboBox)
- GUI编程基础01AWT(了解)
文章目录 GUI编程基础01AWT 简介 AWT(抽象窗口工具包) 组件和容器 第一个Frame窗口 frame类的常用方法 Panel面板讲解 三种布局管理器 流式布局 东西南北中 表格布局 练习 ...
- 1 python编程基础学习
1 python编程基础学习 1. 程序 2 python简介(了解) 3 python的开发环境的搭建 4 第一个python程序 4.1 常用的dos命令 4.2 交互式 4.3 使用pychar ...
- 软件测试Python编程基础学习分享
#博学谷IT学习技术支持# 目录 一.前言 二.python基础 2.1print函数的简单使用 2.2注释 2.2.1单行注释 2.2.2多行注释 2.3Python代码中三种波浪线和 PEP8 2 ...
- 第一篇、GUI编程基础
文章目录 前言 一.GUI编程 二.技术介绍 1.AWT 1.1AWT介绍 1.2组件和容器 1.2.1框架Frame 1.生成第一个界面 2.回顾封装的应用 1.2.2 面板Panel 1.面板在框 ...
- 大数据基础学习三:Ubuntu下安装VMware Tools超详细步骤及需要注意的问题(以ubuntu-18.04.3、Mware Workstation 15.1.0 Pro为例)
大数据基础学习三:Ubuntu下安装VMware Tools超详细步骤及需要注意的问题 (以ubuntu-18.04.3.Mware Workstation 15.1.0 Pro for Window ...
- 【C#编程基础学习笔记】6---变量的命名
2013/7/24 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...
- 【C#编程基础学习笔记】4---Convert类型转换
2013/7/24 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...
最新文章
- 虚拟机Linux中判断用户输入的是 Yes 或 NO
- 蓝桥杯练习系统算法训练习题加答案java版本
- 谷歌I/O走进TensorFlow开源模型世界:从图像识别到语义理解
- dbgrid的最小高度设置。否则出现滚动条。
- C# AE放大缩小地图全局显示功能
- 微信小程序 - 更改radio和checkbox选中样式
- QT 动态创建对象(第一种方法)
- 判断字符串是否为JSON
- 已安装Anaconda情况下,命令行pip,python报错(详细 已解决)
- 11.3. hostname
- html文档支持代码高亮,为HTML中的代码添加语法高亮
- javascript 函数与对象
- 如何修改mc基岩版服务器端口,我的世界基岩版服务器指令设置家
- H3C 无线WLAN侧AC+FIA配置
- VIVO NEX 3 5G版上手评测,除99.6%的屏占比,还有什么理由入手
- 关于SysinternalsSuite全部工具详解
- 简单介绍下C/S与B/S架构的异同
- android数据包 百科,数据包报头
- win7微软停止服务器,微软将于明年1月14日对Windows 7终止支持,那Win7系统还能用吗?...
- vue可视化界面(GUI)
热门文章
- 使用U盘启动盘制作WinXP Professional SP3,发现没有本地连接和网络适配器无法上网应该如何解决
- 算法学习--布隆过滤器
- 牛客网练习赛15__吉姆的奇思妙想
- 计算机科学与技术专业怎么翻译,“计算机科学与技术专业本科课程”的英文翻译是什么?...
- oracle纯SQL更新插入clob类型字段
- VMware:启动Centos7报Entering emergency mode. Exit the shell to continue
- STM32蓝桥杯嵌入式PWM输出
- 递推公式求时间复杂度
- 邮件营销相关技术知识
- 24届近3年浙江工业大学自动化考研院校分析