JAVA语言登陆界面设计
登陆界面设计
程序:
import javax.swing.*;
import java.awt.*;
public class登陆界面设计extends JFrame{
public登陆界面设计(){ //构造方法名称要与类名称一致this.setTitle("学生系统登陆界面");
this.setForeground(Color.blue);
this.setBounds(200, 200, 400, 400);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
JLabel labname=new JLabel("登陆名:");
JLabel labpassed=new JLabel("登陆密码:");
JTextField tex1=new JTextField("");
JTextField tex2=new JTextField("");
JButton bun1=new JButton("登陆");
JButton bun2=new JButton("退出");
JPanel panel =(JPanel) this.getContentPane();
panel.setLayout(null);
panel.setBackground(Color.green);
panel.add(labname);
labname.setBounds(100, 60, 100, 30);
// labname.setForeground(Color.red);
labname.setFont(new Font(null,Font.ITALIC,20));
panel.add(tex1);
tex1.setBounds(200, 60, 100, 30);
// tex1.setForeground(Color.red);
tex1.setFont(new Font(null,Font.ITALIC,20));
panel.add(labpassed);
labpassed.setBounds(100, 120, 100, 30);
// labpassed.setForeground(Color.red);
labpassed.setFont(new Font(null,Font.ITALIC,20));
panel.add(tex2);
tex2.setBounds(200, 120, 100, 30);
// tex2.setForeground(Color.red);
tex2.setFont(new Font(null,Font.ITALIC,20));
panel.add(bun1);
bun1.setBounds(100, 180, 100, 50);
bun1.setForeground(Color.red);
bun1.setFont(new Font(null,Font.ITALIC,20));
panel.add(bun2);
bun2.setBounds(210, 180, 100, 50);
bun2.setForeground(Color.red);
bun2.setFont(new Font(null,Font.ITALIC,20));
this.setVisible(true);
}
public static void main(String[] args) { new登陆界面设计();
}
}
运行效果图:。
java窗口设计代码
java窗口设计代码Java窗口设计代码Java窗口设计代码是指使用Java编程语言来创建和设计窗口界面的代码。
通过使用Java的窗口库,开发人员可以创建图形用户界面(GUI)并添加各种组件,如按钮、文本区域、下拉列表等,来与用户进行交互。
在下面的文章中,我将逐步介绍Java窗口设计代码的相关概念和步骤,帮助读者了解如何使用Java来创建窗口界面和与用户进行交互。
一、引入Java窗口库在使用Java窗口设计代码之前,我们首先需要引入Java窗口库。
Java提供了许多库,如AWT和Swing,用于创建窗口界面。
其中,Swing是AWT的升级版本,提供了更多的组件和功能。
要引入Swing库,我们需要在Java代码中添加以下语句:javaimport javax.swing.*;这样就可以使用Swing库提供的各种类和方法来设计窗口界面。
二、创建主窗口在Java窗口设计代码中,我们首先需要创建一个主窗口,作为整个窗口界面的容器。
可以通过继承JFrame类来创建主窗口,并使用以下代码:javapublic class MainFrame extends JFrame {public MainFrame() {设置主窗口的标题setTitle("Java窗口设计");设置主窗口的大小setSize(800, 600);设置主窗口的默认关闭操作setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);设置主窗口的布局setLayout(new BorderLayout());添加其他组件到主窗口...显示主窗口setVisible(true);}}在上述代码中,我们创建了一个`MainFrame`类,并继承了`JFrame`类。
然后,在`MainFrame`类的构造方法中,我们设置了主窗口的标题、大小、默认关闭操作和布局。
最后,我们添加其他组件到主窗口,并将主窗口设置为可见状态。
java用户登录界面的代码
java用户登录界面的代码以下是一个简单的Java用户登录界面的代码示例,其中包括了GUI界面设计和用户验证的代码:```javaimport javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JTextField;import javax.swing.JPasswordField;import javax.swing.JButton;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;public class LoginWindow extends JFrame implements ActionListener {private JLabel usernameLabel, passwordLabel;private JTextField usernameTextField;private JPasswordField passwordField;private JButton loginButton;public LoginWindow() {setTitle("用户登录");setSize(400, 200);setLocationRelativeTo(null);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);usernameLabel = new JLabel("用户名:");passwordLabel = new JLabel("密码:");usernameTextField = new JTextField();passwordField = new JPasswordField();loginButton = new JButton("登录");loginButton.addActionListener(this);setLayout(null);usernameLabel.setBounds(50, 30, 80, 25);passwordLabel.setBounds(50, 70, 80, 25);usernameTextField.setBounds(130, 30, 200, 25);passwordField.setBounds(130, 70, 200, 25);loginButton.setBounds(150, 120, 100, 25);add(usernameLabel);add(passwordLabel);add(usernameTextField);add(passwordField);add(loginButton);setVisible(true);}public void actionPerformed(ActionEvent e) {String username = usernameTextField.getText();String password = newString(passwordField.getPassword());if (isValidUser(username, password)) {System.out.println("用户登录成功!");// 在这里可以跳转到下一个界面} else {System.out.println("用户名或密码错误!");}}private boolean isValidUser(String username, String password) {// 在这里实现用户验证的代码// 比如查询数据库是否有该用户并且密码是否匹配等等// 如果验证成功则返回true,否则返回falsereturn false;}public static void main(String[] args) {new LoginWindow();}}```该代码创建了一个窗口界面,包括“用户名”和“密码”两个文本框,以及一个“登录”按钮。
qq登录界面设计java程序
zhanghao.setFont(new Font("宋体",Font.PLAIN,13));
this.add(zhanghao);*/
// zhanghaowb = new JLabel(new ImageIcon("2.png"));
zidongdenglu = new JCheckBox("自动登录");
zidongdenglu.setBounds(200, 190, 100, 30);
this.add(zidongdenglu);
jizhumima = new JCheckBox("记住密码");
jizhumima.setBounds(100, 190, 100, 30);
} catch (InstantiationException e1) {
// TODO 自动生成 catch 块
e1.printStackTrace();
} catch (IllegalAccessException e1) {
// TODO 自动生成 catch 块
e1.printStackTrace();
QQLogin w = new QQLogin();
w.setVisible(true);
}
});*/
new QQLogin();
}
public void mouseClicked(MouseEvent e) {
// TODO 自动生成方法存根
JavaGUI编程创建漂亮的用户界面
JavaGUI编程创建漂亮的用户界面JavaGUI编程是一种强大的工具,它可以帮助开发者创建漂亮、直观的用户界面。
在本文中,我将为您介绍如何使用JavaGUI编程来设计和实现一个令人印象深刻的用户界面。
一、选择合适的图形库在开始编写JavaGUI程序之前,我们需要选择一个合适的图形库。
Java提供了多种图形库选项,包括Swing、JavaFX等。
在这里,我将以Swing为例进行演示。
二、设计用户界面设计用户界面是实现漂亮用户界面的第一步。
在设计过程中,我们应该考虑到用户的需求和使用习惯,使界面具有良好的可用性和可访问性。
以下是一些设计原则可以帮助您创建漂亮的用户界面:1. 简洁明了:界面应该简洁明了,避免过多的干扰元素和复杂的图形。
2. 色彩搭配:选择适合的颜色搭配,使界面看起来舒适和谐。
同时要注意颜色的对比度,以确保文字和界面元素的可读性。
3. 布局:合理的布局可以使界面更加整洁美观。
可以使用不同的布局管理器(如FlowLayout、GridBagLayout等)来帮助您实现布局。
4. 图标和图片:适当使用图标和图片可以增加界面的吸引力。
选择高质量的图标和图片,确保其分辨率和大小适合当前界面的需求。
5. 文字字体:选择易读的字体和合适的字号。
正文通常使用宋体、微软雅黑等,标题可以选择一些特殊的字体以增加视觉效果。
三、编写代码一旦您完成了用户界面的设计,接下来就是编写代码来实现这个界面。
下面是一个简单的示例,展示如何使用Swing来创建一个基本的用户界面。
```javaimport javax.swing.*;import java.awt.*;public class GUIExample {public static void main(String[] args) {JFrame frame = new JFrame("漂亮的用户界面");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 300);JPanel panel = new JPanel();panel.setLayout(new FlowLayout());JLabel label = new JLabel("欢迎使用漂亮的用户界面!");label.setFont(new Font("宋体", Font.BOLD, 18));JButton button = new JButton("点击我");button.setPreferredSize(new Dimension(100, 50));panel.add(label);panel.add(button);frame.getContentPane().add(panel);frame.setVisible(true);}}```上述代码演示了如何创建一个简单的用户界面,其中包括一个标签和一个按钮。
java图形用户界面设计教程
第4章图形用户界面设计本章要点● Java图形用户界面设计的基本知识●布局管理器的应用● Java常用图形用界面设计组件的应用● Java常用组件事件处理的应用4.1 认识AWT包和Swing包用户界面是计算机用户与软件之间的交互接口。
一个功能完善,使用方便的用户界面可以使软件的操作更加简单,使用户与程序之间的交互更加有效。
因此图形用户界面(graphics user interface,GUI)的设计和开发已经成为软件开发中的一项重要的工作。
Java语言提供的开发图形用户界面(GUI)的功能包括AWT(Abstract Window Toolkit)和Swing两部分。
这两部分功能由Java的两个包来完成-awt和swing。
虽然这两个包都是用于图形用户界面的开发,但是它们不是同时被开发出来了。
awt包是最早被开发出来的。
但是使用awt包开发出来的图形用户界面并不完美,在使用上非常的不灵活。
比如awt包所包含的组件,其外观是固定的,无法改变,这就使得开发出来的界面非常死板。
这种设计是站在操作系统的角度开发图形用户界面,主要考虑的是程序与操作系统的兼容性。
这样做的最大问题就是灵活性差,而且程序在运行时还会消耗很多系统资源。
由于awt包的不足表现,SUN公司于1998年针对它存在的问题,对其进行了扩展,开发出了Swing,即swing包。
但是,SUN公司并没有让swing包完成替代awt包,而是让这两个包共同存在,互取所需。
awt包虽然存在缺点,但是仍然有可用之处,比如在图形用户界面中用到的布局管理器、事件处理等依然采用的是awt包的内容。
Java有两个主要类库分别是Java包和Javax包。
在Java包中存放的是Java语言的核心包。
Javax包是Sun公司提供的一个扩展包,它是对原Java包的一些优化处理。
swing包由于是对awt包的扩展和优化,所以是存放在Javax包下的,而awt包是存放在Java包下的。
Java语言程序设计:第十章 Java图形用户界面
t}ryesflrs{eaetmD{teer.fypaau{cltkC(l)o; seOperation(EXIT_ON_CLOSE);
选中“ToGoelnUyke}DsiItrMt.caiegmtjefaebreamxtaeIcHtncnmDnLheeaistoea}ep((gidf)oE.ctae;veinkxoaurarAc单.ntcllsstcieo.dTnc击ephmpoardrtetmotLi(i“FneoeEleokte(nnFnS)xoieiSttl”ec(te;kla)}iC”exzA.cgceplkneaetT=dtipsoS“rFtsanicoSNecrnaeeeav)(exlem(){nc;ASeellp”(iz)t)ei保;o()n存;)源{ 文U件I和M工an程a文g件er.getS
边
有间距
CENTER
的 East
组 容se器tHgap(int hgap)
件
setVgap(int vgap)
组
将组件间的水平间距设置为指定的值
件
将组件间的垂直间距设置为指定的值
下边的组件
South
天津职业技术师范大学
BorderLayout
…… class testFrame extends JFrame {
天津职业技术师范大学
BorderLayout
North
左
边 West 的
组 容器
件
上边的组件 CENTER
下边的组件
South
右 边 的 East 组 件
天津职业技术师范大学
BorderLayout
North
方法
左 BorderLay边out( )
West 的
Java实现简单GUI登录和注册界面
Java实现简单GUI登录和注册界⾯本⽂实例为⼤家分享了Java实现简单GUI登录和注册界⾯的具体代码,供⼤家参考,具体内容如下先看效果图:登陆界⾯:注册界⾯:实现代码如下:⼀、登陆界⾯package cn.bms.view;import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.border.MatteBorder;import cn.bms.tools.GUITools;/** 登录窗⼝*/@SuppressWarnings("serial")public class AdminLogin extends JFrame {private JPanel contentPanel = new JPanel();// Label标签存放背景图⽚private JLabel label;// 设置按钮组件private JButton login = new JButton("登录"), register = new JButton("注册");private JLabel jlb1 = new JLabel("⽤户名:"), jlb2 = new JLabel("密码:"), jlbtitle = new JLabel("登录界⾯");// 设置⽂本框组件private JTextField admin = new JTextField(), password = new JTextField();public AdminLogin() {this.init();this.addListener();}private void init() {this.setTitle("管理员登陆界⾯");this.setSize(500, 350);GUITools.center(this);ImageIcon image1 = new ImageIcon("837878.jpg"); // 界⾯背景图⽚JLabel backLabel = new JLabel();backLabel.setIcon(image1);label = new JLabel(image1);label.setBounds(0, 0, 1000, 400);// 在LayeredPane最底层上添加两个带图⽚的标签,并且label2在label上⽅this.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));// 将内容⾯板设置为透明,就能够看见添加在LayeredPane上的背景。
Java的GUI设计打造美观直观的用户界面
Java的GUI设计打造美观直观的用户界面Java是一种广泛使用的编程语言,拥有着强大的图形用户界面(GUI)设计能力。
通过使用Java提供的各种GUI库和工具,开发人员可以轻松地创建美观、直观的用户界面。
本文将介绍一些在Java中实现这样的GUI设计的方法和技巧。
一、选择合适的GUI库在Java中,有多个GUI库可供选择,比如Swing、JavaFX等。
选择合适的GUI库是设计美观直观界面的第一步。
Swing是一个成熟的GUI库,提供了丰富的组件和布局管理器,可以满足大部分GUI设计需求。
JavaFX是Java官方推荐的GUI库,它提供了更现代化的界面设计风格和更优秀的性能。
二、使用布局管理器布局管理器是GUI设计中重要的一环,它定义了组件在窗口中的位置和大小。
Java提供了多种布局管理器,如FlowLayout、BorderLayout、GridLayout等。
通过合理选择和组合这些布局管理器,可以实现各种复杂的界面布局。
三、使用合适的图标和图片图标和图片在GUI设计中起着很重要的作用,可以通过它们来提升用户界面的美观性和直观性。
Java提供了处理图标和图片的功能和类库,开发人员可以使用这些功能来加载、处理和显示各种图标和图片。
四、使用合适的颜色和字体颜色和字体也是GUI设计中非常重要的元素,可以用来强调界面的重要信息或者创建特定的视觉效果。
Java提供了各种颜色和字体的类库和功能,可以用来选择合适的颜色和字体样式。
五、增加交互性一个好的用户界面应该具有良好的交互性,能够方便用户进行操作。
Java提供了丰富的事件处理机制和监听器,可以实现交互性功能。
开发人员可以通过监听用户的操作,及时响应并更新界面,实现更好的用户体验。
六、进行界面美化除了以上的基本设计原则,开发人员还可以通过一些额外的技巧来进一步美化用户界面。
比如使用渐变色背景、添加阴影效果、使用动画效果等。
这些技巧可以使界面更加生动、有趣,并提升用户的整体体验。
第9章 图形用户界面
Java语言程序设计
第9章 图形用户界面
9.1 GUI概述
Java语言程序设计
第9章 图形用户界面
9.1 GUI概述
ponent类是许多组件类(如Button、Label)的父类,Component类中封装了组件通用的方法和 属性,如图形的组件对象、大小、显示位置、前景色、背景色、边界、可见性等,因此许多组件也继承了 Component类的成员方法和成员变量,这些成员方法是许多组件共有的方法,Component类常见的成员方法 如表9-1所示。
Java语言程序设计
第9章 图形用户界面
9.1 GUI概述
Java应用程序的图形用户界面(GUI)是通过Java API提供的java.awt或javax.swing包中的组件实现的。 这些组件所构成的GUI系统通常包含以下几个部分: (1)基本的图形用户界面组件:如菜单、按钮、文本字段等,展示系统可用的操作; (2)容器组件,如窗口、面板等,用于容纳基本组件; (3)布局管理组件,负责容器中组件的布局,进一步美化图形用户界面; (4)事件处理,用户通过图形界面进行操作时,会引发相应的事件,这些事件由一些特定的图形用户 界面组件监听并处理。 Java的java.awt和javax.swing包中包含了许多有关图形界面的类,AWT(Abstract Window Toolkit),中文译 为抽象窗口工具包,是一组Java类,此组java类允许创建图形用户界面,AWT提供用于创建生动而高效 的GUI的各种组件。Swing组件是在AWT组件基础上发展起来的新型GUI组件,完善了GUI组件的功能, 且实现时不包含依赖特定平台的代码,有更高的平台无关性和更好的移植性。因此本章主要介绍Swing 组件的用法,学习了Swing组件的用法后也可容易地学会AWT组件的用法。
java短信验证码登录功能设计与实现
java短信验证码登录功能设计与实现⽬录前⾔业务案例业务关键点剖析短信验证码功能实现思路有效期问题操作步骤前⾔现在不管是各类的⽹站,还是⼤⼩社交app,登录⽅式是越来越多了,其中基于短信验证码的登录可以说是各类app必不可少的⽅式,短信验证码登录以其⾼效,安全,便捷等特性受到许多⽤户的青睐业务案例如下所⽰,是⼀个⼤家熟知的采⽤短信登录的⼊⼝输⼊⼿机号之后,出现如下效果,输⼊⼿机上⾯收到的验证码之后,就可以正常登录了业务关键点剖析以上是⼀个正常的使⽤短信验证码登录的业务流程,在实际开发中,需要考虑的因素更多了,⽐如:验证码位数如何验证码如何存储如何预防短信被刷倒计时功能,前后端如何配合其实来说,短信验证码功能并不难,难得是如何做到业务场景的全⾯覆盖和功能细节上⾯的考虑短信验证码功能实现思路⼩编结合实际经验和调研,⽬前⽐较流⾏的做法是,使⽤redis做短信验证码,想必说到这⾥,懂⾏的同学们应该猜到了完整的业务逻辑⼤概如下:依据这个业务逻辑的实现思路,我们⼤致可以理清代码的编写逻辑,在⼩编开发过程中,其中有⼀个点遇到了⼀点梗,就是关于验证码的有效期的问题,主要考虑下⾯2点:后端存储验证码有效期时长前端页⾯倒计时和后端有效期的关系有效期问题下⾯我们编写代码来演⽰下完整的过程前置准备:搭建⼀个springboot⼯程操作步骤1、导⼊核⼼依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.2.1.RELEASE</version></dependency>@Servicepublic class SmsServiceImpl implements SmsService {public static final String VERIFY_CODE = "login:verify_code:";@Autowiredprivate DbUserMapper dbUserMapper;@Autowiredprivate RedisTemplate<String,String> redisTemplate;@Overridepublic String getSmsVerifyCode(String phone) {if (StringUtils.isEmpty(phone)) {throw new RuntimeException("⽤户⼿机号为空");}QueryWrapper queryWrapper = new QueryWrapper();queryWrapper.eq("mobile",phone);DbUser dbUser = dbUserMapper.selectOne(queryWrapper);if(dbUser == null){throw new RuntimeException("⽤户不存在");}String smsVerifyCode = getSmsVerifyCode();String smsCodeKey = VERIFY_CODE + dbUser.getUserId();String existedSmsCode = redisTemplate.opsForValue().get(smsCodeKey);//如果验证码已经存在时if (StringUtils.isNotEmpty(existedSmsCode)) {Long expireTime = redisTemplate.opsForValue().getOperations().getExpire(smsCodeKey);long lastTime = 60 * 3 - expireTime;//三分钟内验证码有效,1分钟到3分钟之间,⽤户可以继续输⼊验证码,也可以重新获取验证码,新的验证码将覆盖旧的 if(lastTime > 60 && expireTime >0){//调⽤第三⽅平台发短信,只有短信发送成功了,才能将短信验证码保存到redisSystem.out.println("此处调⽤短信发送逻辑......");redisTemplate.opsForValue().set(smsCodeKey, smsVerifyCode, 60 * 3, TimeUnit.SECONDS);System.out.println("短信验证码:" + smsVerifyCode);}//⼀分钟之内不得多次获取验证码if(lastTime < 60){throw new RuntimeException("操作过于频繁,请⼀分钟之后再次点击发送");}}else {//调⽤notify服务发送短信,只有notify的短信发送成功了,才能将短信验证码保存到redisSystem.out.println("此处调⽤短信发送逻辑......");System.out.println("短信验证码:" + smsVerifyCode);redisTemplate.opsForValue().set(smsCodeKey, smsVerifyCode, 60 * 3, TimeUnit.SECONDS);}return smsVerifyCode;}/*** 随机获取6位短信数字验证码** @return*/public static String getSmsVerifyCode() {Random random = new Random();String code = "";for (int i = 0; i < 6; i++) {int rand = random.nextInt(10);code += rand;}return code;}}⾸次输⼊⼿机号,获取验证码时,后端设置验证码有效期为3分钟,前端倒计时1分钟1分钟之内,⽤户不能第⼆次获取验证码,1分钟之后,⽤户可以重新获取验证码超过1分钟后,同⼀个⽤户再次点击获取验证码时,后端需主动移除redis存储的上⼀次验证码3分钟有效期内,⽤户可随时输⼊第⼀次的验证码进⾏登录登录成功后,登录接⼝需主动移除redis中的验证码以上为验证码的核⼼业务⽅法,下⾯再编写⼀个登录的⽅法,当基础校验和验证码校验通过后,即可登录 @Overridepublic String login(String userId, String smsCode) {if (StringUtils.isEmpty(userId)) {throw new RuntimeException("⽤户ID必传");}if (StringUtils.isEmpty(smsCode)) {throw new RuntimeException("验证码不能为空");}QueryWrapper queryWrapper = new QueryWrapper();queryWrapper.eq("user_id",userId);DbUser dbUser = dbUserMapper.selectOne(queryWrapper);if(dbUser == null){throw new RuntimeException("⽤户不存在");}//校验验证码String smsCodeKey = VERIFY_CODE + dbUser.getUserId();String verifyCode = redisTemplate.opsForValue().get(smsCodeKey);if (StringUtils.isEmpty(verifyCode)) {throw new RuntimeException("短信验证码不存在或已过期");}if (!StringUtils.equals(smsCode, verifyCode)) {throw new RuntimeException("短信验证码错误");}//TODO 其他待验证的登录业务逻辑System.out.println("执⾏其他业务......");System.out.println("登录成功");//最后清理下验证码if(redisTemplate.hasKey(smsCodeKey)){redisTemplate.delete(smsCodeKey);}return "login success";}@RestControllerpublic class SmsController {@Autowiredprivate SmsService smsService;@GetMapping("get/sms_code")public String getSmsVerifyCode(@RequestParam("phone") String phone){return smsService.getSmsVerifyCode(phone);}/*** 登录* @param userId* @param smsCode* @return*/@GetMapping("/login")public String login(@RequestParam("userId") String userId,@RequestParam("smsCode") String smsCode){ return smsService.login(userId,smsCode);}}启动redis服务,启动项⽬,数据库提前准备⼀条数据场景测试1:获取验证码调⽤登录接⼝,使⽤上⾯的验证码:场景测试2:1分钟内多次获取验证码第⼀次获取验证码再次获取验证码超过1分钟少于3分钟内,再次获取验证码,得到新的验证码,同时redis中存储的是最新的验证码场景测试3:登录输⼊错误验证码总体来说,使⽤redis实现短信验证码登录的功能不算太复杂,主要是需要全⾯的考虑到各⾃使⽤场景即可到此这篇关于java短信验证码登录功能设计与实现的⽂章就介绍到这了,更多相关java短信验证码登录内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
