Swing程序设计(9)复选框,下拉框

2023-12-13 18:24:55

文章目录


前言

????????该篇文章简单介绍了Java中Swing组件里的复选框组件、列表框组件、下拉框组件,这些在系统中都是常用的组件。


一、复选框

? ? ? ? 复选框(JCheckBox)在Swing组件中的使用也非常广泛,一个方形方块,配备文字,支持多选,都有“选中”与“不选中”两种状态。

? ? ? ? JCheckBox的常用构造方法如下:

public JChechBox();

public JCheckBox(Icon icon,boolean cheched);

public JCheckBox(String text,boolean checked);

? ? ? ? ?实例展示:

? ? ? ? ? ? ? ? 在项目中创建CheckBoxTest类,该类继承了JFrame类成为窗体组件,在类中设置窗体使用流布局管理器,为窗体添加多个复选框对象,代码具体如下:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;
//导入swing的包

public class LabelDemo extends JFrame{
//继承JFrame窗体类

    public LabelDemo(){
        //创建构造方法,搭建窗体

        setBounds(100,100,500,500);
        //设置窗体大小,生成位置

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        //设置关闭方式

        Container c = getContentPane();
        //获取容器

        c.setLayout(new FlowLayout());
        //设置布局方式

        JCheckBox j1 = new JCheckBox("1");
        JCheckBox j2 = new JCheckBox("2");
        JCheckBox j3 = new JCheckBox("3");
        //创建三个复选框对象

        c.add(j1);
        c.add(j2);
        c.add(j3);

        j1.setSelected(true);
        //确定第一个选项被选

        //创建一个按钮对象,并设置好动作事件监听对象
        JButton btn = new JButton("打印");
        btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0){
                System.out.println(j1.getText()+"复选框选中状态"+j1.isSelected());
                System.out.println(j2.getText()+"复选框选中状态"+j2.isSelected());
                System.out.println(j3.getText()+"复选框选中状态"+j3.isSelected());
            }
        });

        c.add(btn);

        setVisible(true);
        //窗体可见
    }
    
    public static void main(String[] args) {
        new LabelDemo();
    }
}

? ? ? ? 运行结果:

?

选中”3“复选框

?

点击打印(终端输出选中情况)

?

?????????注释:

创建三个复选框按钮

????????JCheckBox j1 = new JCheckBox("1");
? ? ? ? JCheckBox j2 = new JCheckBox("2");
? ? ? ? JCheckBox j3 = new JCheckBox("3");

确定某个复选框是否被选中

????????j1.setSelected(true);? ? //确定j1按钮预先被选中

? ? ? ? j2.setSelected(false);? ?//确定j2按钮预先不被选中

设置动作监听事件并将结果反馈于控制台中

????????JButton btn = new JButton("打印");
? ? ? ? btn.addActionListener(new ActionListener() {
? ? ? ? ? ? public void actionPerformed(ActionEvent arg0){
? ? ? ? ? ? ? ? System.out.println(j1.getText()+"复选框选中状态"+j1.isSelected());
? ? ? ? ? ? ? ? System.out.println(j2.getText()+"复选框选中状态"+j2.isSelected());
? ? ? ? ? ? ? ? System.out.println(j3.getText()+"复选框选中状态"+j3.isSelected());
? ? ? ? ? ? }
? ? ? ? });

二、下拉框?

? ? ? ? 下拉框(JComboBox)在Swing中不仅可以供用户从中选择项目,也提供编辑项目中内容的功能。Swing中的下拉列表框使用JComboBox类对象来表示,它的常用构造方法如下:

public JComboBox();

public JComboBox(ComboBoxModel dataModel);

public JComboBox(Object[] arrayData);

public JComboBox(Vector vector);

? ? ? ? 实例展示:

? ? ? ? ? ? ? ? 第一种:

JComboBox<String> comboBox? = new JComboBox<>();????????
//创建下拉框对象(String类型)
addItem("字符串");
//添加下拉框中的对象

? ? ? ?//创建下拉框对象(String类型)

????????JComboBox<String> comboBox? = new JComboBox<>();????????

????????//向下拉列表添加数据

? ? ? ? comboBox.addItem("身份证");

? ? ? ? comboBox.addItem("学生证");

? ? ? ? comboBox.addItem("驾驶证");

? ? ? ?

????????//设置下拉按钮的大小和布局位置

? ? ? ? comboBox.setBounds(10,10,80,21);

import java.awt.*;
import javax.swing.*;
//导入swing的包

public class LabelDemo extends JFrame{
//继承JFrame窗体类

    public LabelDemo(){
        //创建构造方法,搭建窗体

        setBounds(100,100,190,120);
        //设置窗体大小,生成位置

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        //设置关闭方式

        Container c = getContentPane();
        //获取容器

        JComboBox<String> comboBox = new JComboBox<>();
        //创建下拉框对象comboBox

        //添加下拉框中的选项
        comboBox.addItem("身份证");
        comboBox.addItem("学生证");
        comboBox.addItem("驾驶证");

        //设置下拉框按钮的布局和大小
        comboBox.setBounds(10,10,80,21);

        c.add(comboBox);
        setVisible(true);
        //窗体可见
    }
    
    public static void main(String[] args) {
        new LabelDemo();
    }
}

????????运行展示:?

? ? ? ? ? ? ? ? 第二种:

//创建一个String数组,每一个元素都是一个选项
String items[] = {"身份证","学生证","驾驶证"};

//将这些元素放入comboBox下拉框对象中,元素作为选项
JComboBox<String> comboBox = new JComboBox<>(items);

//添加该组件于容器中
c.add(comboBox);

????????//创建一个String数组,每一个元素都是一个选项

? ? ? ? String item[] = {"身份证","学生证","驾驶证"};

????????

? ? ? ? //创建下拉框对象comboBox,并且添加String数列为选项

????????JComboBox<> comboBox = new JComboBox<>(items);

import java.awt.*;
import javax.swing.*;
//导入swing的包

public class LabelDemo extends JFrame{
//继承JFrame窗体类

    public LabelDemo(){
        //创建构造方法,搭建窗体

        setBounds(100,100,190,120);
        //设置窗体大小,生成位置

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        //设置关闭方式

        Container c = getContentPane();
        //获取容器

        String items[] = {"身份证","学生证","驾驶证"};
        //创建String数组对象

        JComboBox<String> comboBox = new JComboBox<>(items);
        //创建下拉框对象comboBox,通过String数组,添加选项

        //设置下拉框按钮的布局和大小
        comboBox.setBounds(10,10,80,21);

        c.add(comboBox);
        setVisible(true);
        //窗体可见
    }
    
    public static void main(String[] args) {
        new LabelDemo();
    }
}

? ? ? ? 实例展示:

??????????????

? ? ? ? ?????????第三种:

????????String items[] ={"身份证","学生证","驾驶证"};

? ? ? ? //创建数组String,创建选项内容

? ? ? ? ComboBoxModel cm = new DefaultComboBoxModel<>(items);

? ? ? ? //将下拉框中的选项封装为ComboBoxModel

? ? ? ? //对选项进行了封装!!!

? ? ? ? JComboBox<String> comboBox = new JComboBox<>();

? ? ? ? //创建下拉框对象comboBox

? ? ? ? comboBox.setModel(cm);

? ? ? ? //设置下拉框按钮的布局和大小

? ? ? ? comboBox.setBounds(10,10,80,21);

? ? ? ? c.add(comboBox);

? ? ? ? 实例展示:

import java.awt.*;
import javax.swing.*;
//导入swing的包

public class LabelDemo extends JFrame{
//继承JFrame窗体类

    public LabelDemo(){
        //创建构造方法,搭建窗体

        setBounds(100,100,190,120);
        //设置窗体大小,生成位置

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        //设置关闭方式

        Container c = getContentPane();
        //获取容器

       
        String items[] ={"身份证","学生证","驾驶证"};
        //创建数组String,创建选项内容

        ComboBoxModel cm = new DefaultComboBoxModel<>(items);
        //将下拉框中的选项封装为ComboBoxModel

        //对选项进行了封装!!!

        JComboBox<String> comboBox = new JComboBox<>();
        //创建下拉框对象comboBox

        comboBox.setModel(cm);
        //设置下拉框按钮的布局和大小

        comboBox.setBounds(10,10,80,21);

        c.add(comboBox);
        setVisible(true);
        //窗体可见
    }
    
    public static void main(String[] args) {
        new LabelDemo();
    }
}

? ? ? ? 运行结果:?

总结????????

????????以上就是今天的内容,本文仅简单介绍了java的Swing程序的复选框、下拉框的使用,而Swing程序提供了大量能使我们快速便捷地处理数据的函数和方法。欢迎在评论区中批评和补充,纠正,博主会及时进行反馈。

文章来源:https://blog.csdn.net/weixin_74141222/article/details/134828362
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。