1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > GUI编程基础学习(三)——单选按钮 复选框 组合框

GUI编程基础学习(三)——单选按钮 复选框 组合框

时间:2023-10-05 09:51:51

相关推荐

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();}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。