设计信息录入界面,完成人员基本信息的录入工作,其中籍贯中涉及的“省、市”能实现联动,即选择“省”时,“市”会根据选择的“省”做相应的变换。

简介: 该博客文章展示了如何设计一个包含联动下拉列表(省、市)的信息录入界面,使用Java Swing组件库实现人员基本信息的录入,并提供了完整的界面布局和事件处理代码。

设计信息录入界面,完成人员基本信息的录入工作,其中籍贯中涉及的“省、市”能实现联动,即选择“省”时,“市”会根据选择的“省”做相应的变换。

文章目录

1、实现的效果

在这里插入图片描述

2、代码实现

package gui;

import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.*;
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;

public class Demo extends JFrame {
    JFrame frame;
    JPanel pane1, pane2, pane3, pane4, pane5;
    JTextField text1, text2, text3;
    JLabel label1, label2, label3, label4, label5, label6;
    JButton button1, button2;
    JComboBox combobox, combobox1, combobox2;
    JTextArea textarea;

    public Demo() {

        pane1 = new JPanel();// 面板
        pane2 = new JPanel();
        pane3 = new JPanel();
        pane4 = new JPanel();
        pane5 = new JPanel();

        // 设置pane1的边框和标题
        pane1.setBorder(new TitledBorder(new EtchedBorder(), "基本信息"));
        label1 = new JLabel("姓名:");
        text1 = new JTextField(10);// 文本框
        label2 = new JLabel("性别:");
        // 下拉框
        String[] xb = { "男", "女" };
        combobox = new JComboBox(xb);

        // 设置pane2的边框和标题
        pane2.setBorder(new TitledBorder(new EtchedBorder(), "籍贯"));
        label3 = new JLabel("省份:");
        String[] box1 = { "湖南", "北京", "上海", "河南" };
        combobox1 = new JComboBox(box1);

        label4 = new JLabel("市区:");
        String[] box2 = { "开福区", "岳麓区", "周口", "南阳", "信阳" };
        combobox2 = new JComboBox(box2);

        // 设置pane3的边框和标题
        pane3.setBorder(new TitledBorder(new EtchedBorder(), "通讯地址"));
        label5 = new JLabel("通讯地址:");
        text2 = new JTextField(10);

        label6 = new JLabel("邮箱:");
        text3 = new JTextField(10);

        // 信息展示
         textarea = new JTextArea(30, 24);

        button1 = new JButton("保存");
        button2 = new JButton("取消");
        // 按钮制作监听器
        button1.addMouseListener(new MouseAdapter() {

            @Override
            public void mouseClicked(MouseEvent e) {
                // TODO Auto-generated method stub
                String label1 = text1.getText().trim();
                String label5 = text2.getText().trim();
                String label6 = text3.getText().trim();
                text1.setText("");
                text2.setText("");
                text3.setText("");
                // getSelectedItem() 返回当前所选项 jComboBox.getSelectedItem()

                textarea.append("姓名:" + label1 + "\r\n性别:" + combobox.getSelectedItem() + "\r\n省份:"
                        + combobox1.getSelectedItem() + "\r\n市区:" + combobox2.getSelectedItem() + "\r\n通讯地址:" + label5
                        + "\r\n邮箱:" + label6 + "\r\n");
            }

        });
        button2.addMouseListener(new MouseAdapter() {

            @Override
            public void mouseClicked(MouseEvent e) {
                // TODO Auto-generated method stub
                System.exit(0);
            }

        });
        this.setLayout(new GridLayout(6, 2, 10, 10));

        pane1.add(label1);
        pane1.add(text1);
        pane1.add(label2);
        pane1.add(combobox);

        pane2.add(label3);
        pane2.add(combobox1);
        pane2.add(label4);
        pane2.add(combobox2);

        pane3.add(label5);
        pane3.add(text2);
        pane3.add(label6);
        pane3.add(text3);

        pane4.add(button1);
        pane4.add(button2);

        pane5.add(textarea);

        this.add(pane1);
        this.add(pane2);
        this.add(pane3);
        this.add(pane4);
        this.add(pane5);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setBounds(200, 200, 500, 750);

        // 按钮定义监听器

        this.setVisible(true);
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Demo c = new Demo();

    }

}
相关文章
|
安全 虚拟化 数据安全/隐私保护
比较本地部署与私有云方案:选择适合你的ERP系统
比较本地部署与私有云方案:选择适合你的ERP系统
1602 2
|
机器学习/深度学习 PyTorch 算法框架/工具
Azure 机器学习 - 使用 ONNX 对来自 AutoML 的计算机视觉模型进行预测
Azure 机器学习 - 使用 ONNX 对来自 AutoML 的计算机视觉模型进行预测
419 0
|
C# Windows 容器
WPF技术之CheckBox控件
WPF(Windows Presentation Foundation)的CheckBox控件用于表示一个可以选中或取消选中的复选框。
1192 0
|
7月前
|
存储 监控 安全
无需云服务器、无需公网IP,轻松实现门禁系统远程接入与数据同步
智慧园区门禁管理中,贝锐花生壳提供高效解决方案。通过内网穿透技术,无需公网IP即可集中管理多区域门禁系统,保障数据安全传输。采用RSA与AES混合加密,支持权限精细化控制及多维度监控,简单三步实现远程访问,助力园区智慧安全管理升级。
325 7
|
开发框架 监控 前端开发
自定义Vue&Element组件,实现用户选择和显示
自定义Vue&Element组件,实现用户选择和显示
|
数据库 数据安全/隐私保护 Python
使用wxpython开发跨平台桌面应用,设计系统的登录界面
【11月更文挑战第12天】本文介绍了使用wxPython开发的简单跨平台桌面应用登录界面的示例代码。主要包括导入wxPython模块,创建登录界面类`LoginFrame`,定义界面布局与事件处理,以及启动应用程序的步骤。示例中实现了用户名和密码输入框及登录按钮的基本功能。
296 1
|
小程序 JavaScript
微信小程序学习之数据绑定,事件绑定,事件传参与数据同步的学习记录
本文介绍了微信小程序中的数据绑定、事件绑定、事件传参与数据同步的基本概念和使用方法,包括如何在data对象中定义数据、使用mustache语法在wxml中渲染数据、绑定和处理事件、事件对象属性、事件传参以及实现输入框与data数据的同步。
微信小程序学习之数据绑定,事件绑定,事件传参与数据同步的学习记录
|
网络协议 安全 网络安全
图解OSI七层模型,2024最强科普!
【7月更文挑战第20天】
3472 2
图解OSI七层模型,2024最强科普!
|
敏捷开发 前端开发 程序员
Hugeicons Flutter 图标库 | 4000+ 开源免费
在全栈开发的征途中,设计素材的匮乏往往是程序员的一大挑战,尤其是那些为MVP产品增添魅力的元素,比如图标(icons)。 一个优秀的免费图标库,对于快速搭建原型、优化视觉效果至关重要。今天,让我们聚焦于Flutter开发者的一个福音——Hugeicons图标库,它蕴藏着超过4000枚精心设计的图标,为你的应用程序注入无限创意潜力。
449 0
Hugeicons Flutter 图标库 | 4000+ 开源免费
|
前端开发 开发者