java实验:完成一个电商购物平台的登录注册窗体

电商购物平台pro plus

(越来越像样了奥


文章目录

前言

一、实验内容

二、实验思路

三、实验代码

四、实验结果截图

总结


前言

继续对电商购物平台进行改进和升级,加上用户登录及注册页面

(虽然前几次升级好像没发

一个有点小复杂的东西,完成的不是很完善


一、实验内容

完成一个电商购物平台的登录注册窗体,点击“点我注册”,显示注册窗体,用户输入用户信息,点击提交后到达显示用户信息的窗体。窗体如图2所示。

在内容2的基础上,用户点击登录注册窗体的登录按钮,到达商品信息查询的窗体,窗体如图3所示

二、实验思路

和计算器的类似,按照所给的图(需求),写出需要的组件(也就是用户名,密码,登录,注册等按钮),添加窗体所需要的库,按照需求摆好按钮所需要的位置,用监听器将功能部署到按钮上去

让按钮可以实现需要的功能

三、实验代码

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;public class LoginRegFrame extends JFrame {JLabel l_id,l_role,l_password;JTextField t_id;JComboBox<String> c_roel;//泛型JPasswordField p_password;JButton b_login,b_reset,b_regist;public LoginRegFrame(){setTitle("登录注册页面");setSize(350,300);setLocation(200,150);init();setVisible(true);}public void init() {setLayout(null);l_id = new JLabel("用户名", JLabel.CENTER);l_role = new JLabel("用户类型", JLabel.CENTER);l_password = new JLabel("密码", JLabel.CENTER);t_id = new JTextField();c_roel = new JComboBox<String>();c_roel.addItem("管理员");c_roel.addItem("普通用户");p_password = new JPasswordField();JPanel p = new JPanel();//创建中间容器p.setLayout(new GridLayout(3, 2));//设置面板布局方式p.add(l_id);p.add(t_id);//将组件添加到面板上p.add(l_role);p.add(c_roel);p.add(l_password);p.add(p_password);p.setBounds(5, 5, 320, 190);//设置面板放在窗体的位置及大小add(p);p = new JPanel();b_login = new JButton("登录");b_login.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {new LoginerFrame();}});b_reset = new JButton("重置");b_regist = new JButton("点我注册");b_regist.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {new RegesiterFrame();}});p.setLayout(new GridLayout(1, 3, 5, 5));p.add(b_login);p.add(b_reset);p.add(b_regist);p.setBounds(5, 200, 320, 60);add(p);}
}public class User {private String id,name,password;private char sex;private String city;public User(){super();}public User(String id,String name,String password,char sex,String city){super();this.id=id;this.name=name;this.password=password;this.sex=sex;this.city=city;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public char getSex() {return sex;}public void setSex(char sex) {this.sex = sex;}public String getCity() {return city;}public void setCity(String city) {this.city = city;}@Overridepublic String toString(){return "User[id="+id+",name="+name+",psaaword="+password+",sex="+sex+",city="+city+"]";}
}import entity.User;import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;public class RegesiterFrame extends JFrame {JLabel l_id,l_name,l_passworld1,l_passworld2,l_sex,l_city;JTextField t_id,t_name;JPasswordField p_passworld1,p_passworld2;//想要保证单选按钮实现单选,需要将这两个按钮放到一个组里ButtonGroup bg;JRadioButton r_boy,r_girl;JComboBox<String> c_city;//泛型化了JButton b_register,b_reset;public RegesiterFrame(){super("电商购物平台注册页面");setSize(300,450);setLocation(700,200);init();setVisible(true);}public void init(){l_id=new JLabel("账号",JLabel.CENTER);l_name=new JLabel("姓名",JLabel.CENTER);l_passworld1=new JLabel("密码",JLabel.CENTER);l_passworld2=new JLabel("确认密码",JLabel.CENTER);l_sex=new JLabel("性别",JLabel.CENTER);l_city=new JLabel("城市",JLabel.CENTER);t_id=new JTextField();t_name=new JTextField();p_passworld1=new JPasswordField();p_passworld2=new JPasswordField();bg=new ButtonGroup();r_boy=new JRadioButton("男");r_girl=new JRadioButton("女");bg.add(r_boy);bg.add(r_girl);c_city=new JComboBox<String>();c_city.addItem("北京");c_city.addItem("上海");c_city.addItem("广州");b_register=new JButton("注册");b_register.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String id=t_id.getText();String name=t_name.getText();String password=null;String password1=new String(p_passworld1.getPassword());String password2=new String(p_passworld2.getPassword());if(password1.equals(password2)){password=password1;}else{JOptionPane.showMessageDialog(p_passworld1,"两次输入的密码不一致");}char sex;if(r_boy.isSelected()){sex = '男';}else{sex = '女';}String city = (String)c_city.getSelectedItem();User user=new User(id,name,password,sex,city);user.toString();new UserInfoFrame(user);}});b_reset=new JButton("重置");b_reset.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {}});setLayout(new GridLayout(7,2,5,5));add(l_id); add(t_id);add(l_name); add(t_name);add(l_passworld1); add(p_passworld1);add(l_passworld2); add(p_passworld2);add(l_sex);JPanel p=new JPanel();//中间容器p.add(r_boy); p.add(r_girl);add(p);add(l_city); add(c_city);add(b_register); add(b_reset);}
}import entity.User;import javax.swing.*;public class UserInfoFrame extends JFrame{public UserInfoFrame(User user) {super("电商购物平台—用户信息");setSize(400, 300);setLocation(600, 200);init(user);setVisible(true);}public void init(User u) {JTable t;Object[] title = {"用户名", "姓名", "密码", "性别", "城市"};Object[][] users = {{u.getId(), u.getName(), u.getPassword(), u.getSex(), u.getCity()}};t = new JTable(users, title);add(new JScrollPane(t));}
}import javax.swing.*;
import java.awt.*;public class LoginerFrame extends JFrame {private JLabel l_name,l_lei,l_id,l_zuozhe,l_kucun,l_fenlei,l_chaxun,l_buy;private JTextField t_id,t_name,t_zuozhe,t_kucun,t_fenlei;private JComboBox<String> c_lei;private JButton b_chaxun,b_buy;private JTable t_bookmessage;public LoginerFrame(){super("电商购物平台,商品查询页面");setSize(400,100);setLocation(700,600);init();setVisible(true);}public void init(){l_name=new JLabel("您好");l_id=new JLabel("书籍编号",JLabel.CENTER);l_lei=new JLabel("分类:");t_name =new JTextField();t_id=new JTextField();c_lei=new JComboBox<String>();c_lei.addItem("教材");c_lei.addItem("课外书");l_chaxun=new JLabel("查询");b_chaxun=new JButton("查询");l_lei=new JLabel("分类",JLabel.CENTER);l_name=new JLabel("书籍名",JLabel.CENTER);Object[] bookTitle = {"书籍编号","书籍名称","书籍作者","库存","书籍分类"};Object[][] book = {new Object[]{"b00001", "数据结构与算法", "严蔚敏", 30,"软件开发", "算法设计"},{"b00002","java开发语言","李华玲",30,"软件开发","java编程"},{"b00003","数据库概论","蒋本珊",30,"软件开发","数据库设计"},{"b00004","线性代数","高玉斌",30,"基础学科","数学"}};t_bookmessage = new JTable(book,bookTitle);setLayout(null);l_name=new JLabel("购物车商品数:");l_buy=new JLabel("购买");b_buy=new JButton("购买");JPanel p=new JPanel();p.setLayout(new GridLayout(1, 2, 15, 25));p.add(l_name);p.setBounds(5, 30, 670, 20);add(p);JPanel p2=new JPanel();p2.setLayout(new GridLayout(1,2,10,25));p2.add(l_name);p2.add(t_name);p2.add(l_lei);p2.add(c_lei);p2.add(b_chaxun);p2.setBounds(5,50,670,20);add(p2);JPanel p3=new JPanel();p3.setLayout(new GridLayout(1,1,10,25));p3.add(new JScrollPane(t_bookmessage));p3.setBounds(5,100,670,300);add(p3);JPanel p4=new JPanel();p4.setLayout(new GridLayout(30,30,15,25));p4.add(l_name);p4.add(b_buy);p4.setBounds(5,130,670,20);add(p4);}
}public class Test {public static void main(String[] args){LoginRegFrame loginRegFrame=new LoginRegFrame();}
}

四、实验结果截图


总结

一个奇怪的东西,还没有完全完成(不知道为什么有的按钮不按照我想象的形式出现,让我再看看改改(×)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

B2C模式电商案例-用户注册与登录

1、用户注册-短信验证码 1.1分析 1.2后端 创建 SmsController类&#xff0c;调用阿里大鱼工具类&#xff0c;发送短信 package com.czxy.changgou4.controller;import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; import com.czxy.changgou4.pojo.User; import …

用户注册登录退出功能的实现——淘淘商城(二十五)

静态资源配置用户注册页面 需求 分析总结 Controller层 用户登录页面 需求 分析总结 Controller层 门户工程整合单点登录系统 cookie的读写 需求开发 注册、登录、退出页面的跳转 需求开发 拦截器强制登录 需求Service层拦截器 运行工程 静态资源配置 taotao-sso的WEB-INF下…

JAVA实验:完成一个电商购物平台的登录注册窗体,点击“点我注册”,显示注册窗体,用户输入用户信息,点击提交后到达显示用户信息的窗体。

内容3&#xff1a;在内容2的基础上&#xff0c;用户点击登录注册窗体的登录按钮&#xff0c;到达商品信息查询的窗体&#xff0c;窗体如图3所示。 本次实验主要利用java类swing中的各种方法。 实验思路&#xff1a;通过实验所给出的窗口&#xff0c;使用swing中方法进行构建&a…

【Go实战 | 电商平台】(4) 用户注册

文章目录 1. 编写路由2. 注册路由3. 注册接口3.1 service层3.2 api层3.2 serializer 4. 注册服务 用到的包 github.com/gin-contrib/sessions github.com/gin-contrib/sessions/cookie github.com/gin-gonic/gin 1. 编写路由 新建一个WSGI应用程序实例。 r : gin.Default(…

Vue电商项目--登录与注册

登录注册静态组件 刚刚报了一个错误&#xff0c;找不到图片的资源 assets文件夹--放置全部组件共用静态资源 在样式当中也可以使用符号【src别名】。切记在前面加上 注册业务上 先修改原先的接口成这个按钮 然后把input框里面的数据保存到data中 注册业务下 就是点击获…

C++面经

编译、链接与库编译单文件编译多文件编译 动态链接与静态链接静态链接动态链接 面向对象c⾯向对象 三大特性封装继承多态静态多态&#xff08;模板或重载&#xff09;动态多态&#xff08;面向对象、继承、多态、虚函数&#xff09; 面向对象和面向过程语言的区别面向过程面向对…

GPT-4,究竟强大在哪里?

2023年3月15日&#xff0c;OpenAI向全世界进行了GPT-4的发布会&#xff0c;整个世界都为之沸腾了。GPT-4究竟是有多厉害&#xff1f;为什么能造成这么大的影响&#xff1f;今天小灰来仔细讲解一下。 基础配置 先说说基础配置&#xff0c;之前小灰分享过&#xff0c;GPT-3.5有17…

【EasyPoi实战系列】Spring Boot集成EasyPoi - 第467篇

历史文章&#xff08;文章累计460&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 6…

解密Prompt系列1. Tunning-Free Prompt:GPT2 GPT3 LAMA AutoPrompt

借着ChatGPT的东风&#xff0c;我们来梳理下prompt范式的相关模型。本系列会以A Systematic Survey of Prompting Methods in Natural Language Processing这篇综述为基础&#xff0c;分门别类的整理下这几年比较有代表性的prompt模型。或许你还以其他形式看到过prompt概念&…

未来式人工智能教育在国内的现状

无论是高空户外还是深海水下&#xff0c;或者火灾、地震现场&#xff0c;危险环境让身处其中的工作人员面临巨大威胁。而正在兴起的特种机器人&#xff0c;有望代替人类&#xff0c;在危险现场完成任务。格物斯坦表示&#xff1a;特种机器人&#xff0c;是机器人的一个重要分支…

chatgpt赋能python:Python如何隐藏进程

Python如何隐藏进程 介绍 进程是指运行中的程序在操作系统中的一个实例。在计算机系统中&#xff0c;进程通常都可以被用户或者其他程序所看到。然而&#xff0c;有时候我们需要隐藏进程&#xff0c;比如保护敏感信息或者防止恶意攻击。 Python是一种高级编程语言&#xff0…

UP主高薪裸辞转型独立开发者;LLM权威学习路线图;游戏开发最全AI工具盘点;LOGO制作保姆教程 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; Hugging Face 全球开源AI游戏开发挑战赛&#xff0c;7月8日开始 Open Source AI Game Jam 是 Hugging Face 举办的首场开源游戏开发挑…

ChatGPT到底是什么,带领大家详细解读!

前言 ChatGPT的强大程度相信很多同学都已经体验过了&#xff0c;无论是编写文章&#xff0c;问答&#xff0c;写代码展现除了非常惊艳的能力。一定喜欢技术的同学一定好奇&#xff0c;ChatGPT是如何做到“全知全能”&#xff0c;即会写文章&#xff0c;又会表达总结&#xff0…

IDE + ChatGPT,这款编辑器真的做到可以自动写代码了!

介绍 Cursor 是集成了 GPT-4 的 IDE 工具&#xff0c;目前免费并且无需 API Key&#xff0c;支持 Win、Mac、Linux 平台&#xff0c;可以按要求生成代码&#xff0c;或者让 AI 帮助优化代码&#xff0c;分析代码。Cursor目前已经集成了openai的GPT-4&#xff0c;它或将彻底改变…

CSDN周赛第30期题目解析(天然气定单、小艺读书、买苹果、圆桌)

CSDN周赛第30期&#xff0c;我应试成绩“0”分。试着对天然气定单、小艺读书、买苹果&#x1f34e;、圆桌四个题目&#xff0c;完成算法解析。 (本文获得CSDN质量评分【91】) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖…

猿人学逆向比赛第四题-gRPC题解 | Go版本

大家好&#xff0c;我是TheWeiJun&#xff0c;欢迎来到我的公众号。在现代互联网中&#xff0c;某些网站、App会使用gRPC进行数据传输&#xff0c;以加强数据的安全性和保密性。然而&#xff0c;逆向加密算法并不是一件简单的事情。本文将探讨如何逆向猿人学App的gRPC协议&…

ChatGPT 扩展来自动化你的生活

除非您一直生活在岩石下&#xff0c;否则您可能知道 ChatGPT 如何改变业务以及我们的工作和沟通方式。您只需访OpenAI 的网站即可解锁 ChatGPT 的强大功能。 但是&#xff0c;如果我们不仅可以在其官方网站上使用 ChatGPT&#xff0c;还可以在 微信、Excel、Word 以及更多地方使…

chatGPT的到来,是否意味新时代的来临

chatGPT是一种人工智能技术驱动的自然语言处理工具&#xff0c;是一种基于语言对话场景的语言模型&#xff0c;它使用了Transformer神经网络架构&#xff0c;也是GPT-3.5架构&#xff0c;功能具备上知天文下知地理&#xff0c;还可以进行撰写邮件、视频脚本、文案、翻译、代码等…

windows的软件能在鸿蒙系统运行吗,如果鸿蒙系统能不能兼容windows的所有应用软件,会让你惊喜吗...

如果华为能够让鸿蒙系统兼容Windows系统上所有的应用&#xff0c;那华为鸿蒙系统可能已经超脱时代了。 你得知道在两个不同平台&#xff0c;硬件和内核不同的情况下&#xff0c;华为如果想兼容所有的平台&#xff0c;可能所花费的人力&#xff0c;财力会更巨大。我们知道鸿蒙系…

为什么鸿蒙内核是安卓,鸿蒙系统发布,为什么有人说其为安卓换壳?

2021年4月&#xff0c;鸿蒙系统内测版正式面向消费者开放&#xff0c;而我由于在校读书也变没有时间去专门去进行鸿蒙系统的深度体验只是回来后简单的体验一下 首先我要说的是-鸿蒙它……不是安卓套壳&#xff01;&#xff01;&#xff01;我之前在评论区经常看见有人说鸿蒙就是…