单选按钮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编程基础学习(三)——单选按钮、复选框、组合框相关推荐

  1. GUI编程基础学习(四)——常见几何图形的绘制

    绘制直线 在Java中可以使用以下方法绘画一条直线 drawLine(int x1,int y1,int x2,int y2); 其中参数(x1,y1)是直线的起点,(x2,y2)是直线的终点 绘制矩 ...

  2. 零基础学习CANoe Panel(10)—— 组合框(ComboBox)

  3. GUI编程基础01AWT(了解)

    文章目录 GUI编程基础01AWT 简介 AWT(抽象窗口工具包) 组件和容器 第一个Frame窗口 frame类的常用方法 Panel面板讲解 三种布局管理器 流式布局 东西南北中 表格布局 练习 ...

  4. 1 python编程基础学习

    1 python编程基础学习 1. 程序 2 python简介(了解) 3 python的开发环境的搭建 4 第一个python程序 4.1 常用的dos命令 4.2 交互式 4.3 使用pychar ...

  5. 软件测试Python编程基础学习分享

    #博学谷IT学习技术支持# 目录 一.前言 二.python基础 2.1print函数的简单使用 2.2注释 2.2.1单行注释 2.2.2多行注释 2.3Python代码中三种波浪线和 PEP8 2 ...

  6. 第一篇、GUI编程基础

    文章目录 前言 一.GUI编程 二.技术介绍 1.AWT 1.1AWT介绍 1.2组件和容器 1.2.1框架Frame 1.生成第一个界面 2.回顾封装的应用 1.2.2 面板Panel 1.面板在框 ...

  7. 大数据基础学习三: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 ...

  8. 【C#编程基础学习笔记】6---变量的命名

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...

  9. 【C#编程基础学习笔记】4---Convert类型转换

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...

最新文章

  1. 虚拟机Linux中判断用户输入的是 Yes 或 NO
  2. 蓝桥杯练习系统算法训练习题加答案java版本
  3. 谷歌I/O走进TensorFlow开源模型世界:从图像识别到语义理解
  4. dbgrid的最小高度设置。否则出现滚动条。
  5. C# AE放大缩小地图全局显示功能
  6. 微信小程序 - 更改radio和checkbox选中样式
  7. QT 动态创建对象(第一种方法)
  8. 判断字符串是否为JSON
  9. 已安装Anaconda情况下,命令行pip,python报错(详细 已解决)
  10. 11.3. hostname
  11. html文档支持代码高亮,为HTML中的代码添加语法高亮
  12. javascript 函数与对象
  13. 如何修改mc基岩版服务器端口,我的世界基岩版服务器指令设置家
  14. H3C 无线WLAN侧AC+FIA配置
  15. VIVO NEX 3 5G版上手评测,除99.6%的屏占比,还有什么理由入手
  16. 关于SysinternalsSuite全部工具详解
  17. 简单介绍下C/S与B/S架构的异同
  18. android数据包 百科,数据包报头
  19. win7微软停止服务器,微软将于明年1月14日对Windows 7终止支持,那Win7系统还能用吗?...
  20. vue可视化界面(GUI)

热门文章

  1. 使用U盘启动盘制作WinXP Professional SP3,发现没有本地连接和网络适配器无法上网应该如何解决
  2. 算法学习--布隆过滤器
  3. 牛客网练习赛15__吉姆的奇思妙想
  4. 计算机科学与技术专业怎么翻译,“计算机科学与技术专业本科课程”的英文翻译是什么?...
  5. oracle纯SQL更新插入clob类型字段
  6. VMware:启动Centos7报Entering emergency mode. Exit the shell to continue
  7. STM32蓝桥杯嵌入式PWM输出
  8. 递推公式求时间复杂度
  9. 邮件营销相关技术知识
  10. 24届近3年浙江工业大学自动化考研院校分析