Java上机实验报告(7)

news2024/10/7 12:24:58

实验 (7) 项目名称:组件及事件处理-注册页面

一、 实验报告内容一般包括以下几个内容:

  1. 实验项目名称 实验7 组件及事件处理-注册页面

  2. 实验目的和要求
    本实验的目的:
    本实验的目的是让学生掌握常用的组件类JButton,JTextField,JTextArea,JLabel,JCheckBox,JRadioButton, JPasswordField。
    实验具体要求:
    设计如下的注册界面:
    在这里插入图片描述

  3. 实验原理

  4. 主要仪器设备
    (1)学生每人一台PC机;
    (2)互联网环境。
    实验解答:
    Demo.java

package data20240418;

public class Demo {
    public static void main(String[] args) {
        new WinLogin();
    }
}

WinLogin.java

package data20240418;

import javax.swing.*;

public class WinLogin extends JFrame
{
    public WinLogin()
    {
        setLayout(null);
        init_name();//设置用户名和密码
        init_sex();//设置性别
        init_hobby();//设置爱好
        init_country();//设置国家
        init_self();//自我评价
        init_testpass();//验证码
        init_button();
        setTitle("注册界面");
        setBounds(500,200,400,350);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setVisible(true);
    }
    void init_name()
    {
        JLabel username=new JLabel("用户名");
        JLabel passwordOne=new JLabel("密码");
        JLabel passwordTwo=new JLabel("确认密码");
        JTextField nameText=new JTextField();
        JTextField passwordOneText=new JTextField();
        JTextField passwordTwoText=new JTextField();

        username.setBounds(30,20,100,20);
        passwordOne.setBounds(30,40,100,20);
        passwordTwo.setBounds(30,60,100,20);

        nameText.setBounds(100,20,150,20);
        passwordOneText.setBounds(100,40,150,20);
        passwordTwoText.setBounds(100,60,150,20);
        add(username);
        add(passwordOne);
        add(passwordTwo);
        add(nameText);
        add(passwordOneText);
        add(passwordTwoText);

    }
    void init_sex()
    {
        JLabel sex=new JLabel("性别");
        JRadioButton radioM=new JRadioButton("男");
        JRadioButton radioF=new JRadioButton("女");
        sex.setBounds(30,80,100,20);
        radioM.setBounds(100,80,50,20);
        radioF.setBounds(160,80,50,20);
        ButtonGroup group=new ButtonGroup();
        group.add(radioF);
        group.add(radioM);
        add(sex);
        add(radioM);
        add(radioF);
    }
    void init_hobby()
    {
        JLabel hobby = new JLabel("爱好");
        JCheckBox checkBox1,checkBox2,checkBox3,checkBox4;
        checkBox1 = new JCheckBox("唱歌");
        checkBox2 = new JCheckBox("跳舞");
        checkBox3 = new JCheckBox("篮球");
        checkBox4 = new JCheckBox("游戏");
        hobby.setBounds(30,100,100,20);
        checkBox1.setBounds(100,100,50,20);
        checkBox2.setBounds(150,100,50,20);
        checkBox3.setBounds(200,100,50,20);
        checkBox4.setBounds(250,100,50,20);
        add(hobby);
        add(checkBox1);
        add(checkBox2);
        add(checkBox3);
        add(checkBox4);
    }
    void init_country()
    {
        JLabel country = new JLabel("国籍");
        JComboBox<String> comBox= new JComboBox<>();
        country.setBounds(30,120,100,20);
        comBox.addItem("中国");
        comBox.addItem("美国");
        comBox.addItem("俄罗斯");
        comBox.setBounds(100,120,100,20);
        add(country);
        add(comBox);
    }
    void init_self()
    {
        JLabel talk_self = new JLabel("自我评价");
        JTextArea textArea = new JTextArea();
        talk_self.setBounds(30,140,100,20);
        textArea.setBounds(100,140,150,60);
        add(talk_self);
        add(textArea);
    }
    void init_testpass()
    {
        JLabel testpass = new JLabel("验证码");
        JTextField textField = new JTextField();
        JButton button = new JButton("获取验证码");
        testpass.setBounds(30,220,100,20);
        textField.setBounds(100,220,120,20);
        button.setBounds(200,220,120,20);
        add(testpass);
        add(textField);
        add(button);
    }
    void init_button()
    {
        JButton button1 = new JButton("提交");
        JButton button2 = new JButton("验证");
        button1.setBounds(80,260,80,20);
        button2.setBounds(220,260,80,20);
        add(button1);
        add(button2);
    }
}

运行结果展示:
(没调背景色,因为加背景色太丑了)
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1607296.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

空气源热泵电控系统部分控制功能的逻辑

空气源热泵的电控系统&#xff0c;是一台空气源热泵设备的大脑&#xff0c;电控系统逻辑的合理性、执行的精准性&#xff0c;直接决定设备运行的稳定、能效高低、运行寿命。 控制功能 &#xff08;1&#xff09;压缩机防频繁起停 压缩机再次启动间隔时间为3分钟&#xff0c;即压…

果园系统养殖游戏喂养偷菜种植浇水养成小程序功能介绍

以下是上述功能介绍的重写版本&#xff1a; 装扮 使用丰富的材料&#xff0c;为您的房屋增添独特魅力&#xff0c;展现个性化装饰风格。 土地升级 投入不同数量的材料&#xff0c;提升房屋与土地的品质&#xff0c;打造独一无二的庄园。 日志 通过日志记录&#xff0c;清…

Flask实战

from flask import Flask appFlask(__name__)点击Flask同时点击键盘ctrl即可查看Flask的默认初始化函数 def __init__(self,import_name: str,static_url_path: str | None None,static_folder: str | os.PathLike[str] | None "static",static_host: str | None …

LeetCode-31-下一个排列问题

题目说明 实现获取下一个排列的函数&#xff0c;算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列&#xff0c;则将数字重新排列成最小的排列&#xff08;即升序排列&#xff09;。 必须原地修改&#xff0c;只允许使用额外常数空间。…

考研日常记录

由于实在太无聊了 &#xff0c; 所以记录以下考研备考日常 &#xff0c; 增加一点成就感 &#xff0c; 获得一点前进动力。 2024.4.18 周四 课程情况&#xff1a; 无课 时间规划&#xff1a; 上午&#xff1a;休息 下午&#xff1a; 事项耗时进度备注写作业1h复习英语单词…

SayNav: 利用大语言模型在未知环境中导航

论文标题&#xff1a;SayNav: Grounding Large Language Models for Dynamic Planning to Navigation in New Environments 论文地址&#xff1a;https://arxiv.org/pdf/2309.04077.pdf 项目地址&#xff1a;https://www.sri.com/ics/computer-vision/saynav SayNav介绍 SayNa…

ExpandableListView可扩展列表视图,可折叠列表视图

目录 1. XML代码 2. ExpandableListView的使用 3. ExpandableListAdapter的使用 4. 数据观察者的使用 5. 案例代码一览 ExpandableListView&#xff08;可扩展/可折叠列表视图&#xff09;是一种多功能的高级控件&#xff0c;每个子项都可以展开一个孙子列表。点击一个分组…

科研基础与工具(笔记)

​ 免责申明&#xff1a; 本文内容只是学习笔记&#xff0c;不代表个人观点&#xff0c;希望各位看官自行甄别 参考文献 科研基础与工具&#xff08;YouTube&#xff09; 专业名词 影响因子&#xff08;Impact Factor&#xff09;&#xff0c;一般是特指SCI的影响因子&#…

Qt实现Mysql数据库的连接,查询,修改,删除,增加功能

Qt实现Mysql数据库的连接&#xff0c;查询&#xff0c;修改&#xff0c;删除&#xff0c;增加功能 安装Mysql数据库&#xff0c;QtCreator Mysql选择Mysql Server 8.1版本安装。 Mysql Server 8.1安装过程 1.首先添加网络服务权限&#xff1a; WinR键输入compmgmt.msc进入…

论文阅读:BEVBert: Multimodal Map Pre-training for Language-guided Navigation

BEVBert&#xff1a;语言引导导航的多模态地图预训练 摘要 现存的问题&#xff1a;目前大多数现有的预训练方法都采用离散的全景图来学习视觉-文本关联。这要求模型隐式关联全景图中不完整、重复的观察结果&#xff0c;这可能会损害智能体的空间理解。 本文解决方案&#xf…

PCBA镀金工艺介绍

PCBA&#xff08;印制电路板组装&#xff09;的镀金工艺是一种常见的表面处理方法&#xff0c;用于提高印制电路板&#xff08;PCB&#xff09;的性能和耐用性。本文将详细介绍PCBA的镀金工艺&#xff0c;包括其类型、工艺流程、优点及应用。 1. 镀金工艺的类型 PCBA的镀金主要…

Mac电脑版鼠标连点工具 RapidClick for Mac

RapidClick for Mac是一款方便实用的自动点击工具&#xff0c;可以帮助Mac用户在使用电脑时轻松、快速地进行鼠标操作。它可以模拟人类手指点击的动作&#xff0c;让您的鼠标点击变得更加快捷高效&#xff0c;大大提升了工作和游戏的效率。 RapidClick for Macv1.5.1激活版下载…

【windows-搭建Ubuntu22LTS】

一、环境要求 1. windows版本要求 至少Windows 10 2020年5月(2004) 版, Windows 10 2019年5月(1903) 版&#xff0c;或者 Windows 10 2019年11月(1909) 版 2. 控制面板开启相关的程序(需要重启) 二、Microsoft store安装unbuntu 下载后直接运行&#xff08;稍微等会&#…

mac: docker安装及其Command not found: docker

已经安装了docker desktop&#xff0c;没安装的 点击安装 傻瓜式安装即可 接着打开终端&#xff1a;好一个 Comand not found:docker 看我不把你整顿&#xff0c;解决如下&#xff1a; 如果你在 macOS 上安装了 Docker Desktop&#xff0c;但是终端无法识别 docker 命令&…

【ARM 裸机】汇编 led 驱动之烧写 bin 文件

1、烧写概念 bin 文件烧写到哪里呢&#xff1f;使用 STM32 的时候烧写到内部 FLASH&#xff0c;6ULL 没有内部 FLASH&#xff0c;是不是就不能烧写呢&#xff1f;不&#xff0c;6ULL 支持 SD卡、EMMC、NAND FLASH、NOR FLASH 等方式启动&#xff0c;在裸机学习的工程中&#x…

C++算法题 - 区间

目录 228. 汇总区间56. 合并区间57. 插入区间452. 用最少数量的箭引爆气球 228. 汇总区间 LeetCode_link 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说&#xff0c;nums 的每个元素都恰好被某个区间范围所…

IDEA报错然后pycharm闪退

pycharm闪退&#xff0c;在C盘的USER文件夹下有报错文件 打开一看&#xff0c;说内存不足 # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 14596177920 bytes for G1 virtual space # Possib…

Redis入门到通关之分布式锁Rediision

文章目录 ☃️setnx实现的分布式锁存的问题☃️Redisson☃️分布式锁-Redission快速入门☃️实战☃️总结 ☃️setnx实现的分布式锁存的问题 基于setnx实现的分布式锁存在下面的问题&#xff1a; 重入问题&#xff1a;重入问题是指 获得锁的线程可以再次进入到相同的锁的代码…

Win10系统下关闭管理员运行确认弹窗

Windows10及以上系统对于安全的考虑&#xff0c;对于程序运行时的权限做了控制 点击后&#xff0c;会弹出确认的弹窗。 像我做测试&#xff0c;或者使用cmd经常需要administrator 权限&#xff0c;一直弹弹弹就很烦。 要实现右击后无需弹窗就可以使用管理员权限运行改…

世强硬创获Jowat授权代理,其热熔胶可实现重新分离和循环使用

随着全球对环境保护意识的提升&#xff0c;政府机构对挥发性有机化合物&#xff08;VOCs&#xff09;和其他有害排放物的限制越来越严格&#xff0c;这促使粘合剂制造厂商开发更环保的产品。 为拓展中国市场&#xff0c;德国胶王股份有限公司&#xff08;下称“德国胶王”&…