首页 > 其他分享 >登录界面9.17

登录界面9.17

时间:2023-09-17 20:11:30浏览次数:35  
标签:jFrame 界面 登录 Color 9.17 JOptionPane getText new Font

package test;

import javax.swing.*;

import java.awt.*;

public class test2 {

//创造字符串储存账号

public static String uname[] = new String[100];

//创造字符串储存密码

public static String upass[] = new String[100];

//记录当前坐标

public static int flag_user = 0;

public static void main(String[] args) {

 

 

JFrame jFrame = new JFrame("启动!");

//JFrame可以创建一个窗口,并且给窗口命名;

jFrame.setSize(900, 507);

//setSize函数用来设置生成窗口的大小;

jFrame.setLayout(null);

//布局管理器设置为null;

//添加标题

JLabel title = new JLabel("原神启动器");

//JLabel可以给生成的界面添加文字内容;

title.setForeground(new Color(0, 0, 0, 250));

//给文字上色;

title.setFont(new Font("宋体", Font.PLAIN, 50));

//规定文字的字体和大小;

title.setBounds(280, 50, 800, 100);

//规定文字生成的位置;

jFrame.add(title);

//添加用户名;

JLabel userName = new JLabel("用户名:");

userName.setForeground(new Color(0, 0, 0, 250));

userName.setFont(new Font("宋体", Font.PLAIN, 30));

userName.setBounds(200, 140, 200, 100);

jFrame.add(userName);

//添加密码;

JLabel userPassWord = new JLabel("密码:");

userPassWord.setForeground(new Color(0, 0, 0, 250));

userPassWord.setFont(new Font("宋体", Font.PLAIN, 30));

userPassWord.setBounds(200, 200, 200, 100);

jFrame.add(userPassWord);

//添加验证码

String stra = str();

JLabel setNum = new JLabel(stra);

setNum.setForeground(new Color(0, 0, 0, 250));

setNum.setFont(new Font("宋体", Font.PLAIN, 30));

setNum.setBounds(610, 290, 100, 40);

jFrame.add(setNum);

//创建一个用户名的输入栏

JTextField name = new JTextField(20);//20是输入上限;

//JTextField可以生成一个可供用户输入的输入栏;

name.setForeground(new Color(0, 0, 0, 250));

name.setFont(new Font("宋体", Font.PLAIN, 30));

name.setBounds(330, 170, 280, 40);

jFrame.add(name);

//创建一个密码的输入栏;

JTextField passWord = new JTextField(20);//20是输入上限;

passWord.setForeground(new Color(0, 0, 0, 250));

passWord.setFont(new Font("宋体", Font.PLAIN, 30));

passWord.setBounds(330, 230, 280, 40);

jFrame.add(passWord);

//创建验证码的输入栏

JTextField num = new JTextField(20);//20是输入上限;

num.setForeground(new Color(0, 0, 0, 250));

num.setFont(new Font("宋体", Font.PLAIN, 30));

num.setBounds(330, 290, 280, 40);

jFrame.add(num);

//添加注册按钮

JButton reg = new JButton("注册");

//创建可交互按钮

//设置背景颜色

reg.setForeground(new Color(0,0,0,250));

reg.setBackground(new Color(0, 0, 0, 0));

//设置字体

reg.setFont(new Font("宋体", Font.PLAIN, 20));

reg.setBorderPainted(false);//不设置边框

reg.setBounds(400,330,100,50);

jFrame.add(reg);

reg.addActionListener((e->{

if(!name.getText().isEmpty())

{

if(!passWord.getText().isEmpty())

{

if(num.getText().equals(stra))

{

uname[flag_user]=name.getText();

upass[flag_user]=passWord.getText();

flag_user++;

 

}

else

{

JOptionPane.showMessageDialog(jFrame,"验证码错误","提示",JOptionPane.INFORMATION_MESSAGE);

num.setText("");

}

}

else

{

JOptionPane.showMessageDialog(jFrame,"密码没输","提示",JOptionPane.INFORMATION_MESSAGE);

}

}

else

{

JOptionPane.showMessageDialog(jFrame,"用户名没输","提示",JOptionPane.INFORMATION_MESSAGE);

}

}));

//添加登录按钮;

JButton loadIn = new JButton("登录");

//JButton可以创建一个可供用户交互的按钮;

loadIn.setForeground(new Color(0, 0, 0, 250));

loadIn.setBackground(new Color(0, 0, 0, 0));

//设置背景颜色

loadIn.setFont(new Font("宋体", Font.PLAIN, 20));

loadIn.setBorderPainted(false);

//不设置边框;

loadIn.setBounds(500, 330, 100, 50);

jFrame.add(loadIn);

//对按钮进行处理,使其可以进行交互;

loadIn.addActionListener((e->{

if(!name.getText().isEmpty())

{

if(!passWord.getText().isEmpty())

{

if(num.getText().equals(stra))

{

//正确标志

int flag = 0;

for(int i=0;i<flag_user;i++)

{

if(name.getText().equals(uname[i])&&passWord.getText().equals(upass[i]))

{

flag = 1;

break;

}

}

if(flag==1)

{

JOptionPane.showMessageDialog(jFrame,"原神启动成功","提示",JOptionPane.INFORMATION_MESSAGE);

}

else

{

JOptionPane.showMessageDialog(jFrame,"账号或密码错误","提示",JOptionPane.INFORMATION_MESSAGE);

}

//登录界面设置为不可见,既消去登陆界面

jFrame.setVisible(false);

}

else

{

JOptionPane.showMessageDialog(jFrame,"验证码错误","提示",JOptionPane.INFORMATION_MESSAGE);

num.setText("");

}

}

else

{

JOptionPane.showMessageDialog(jFrame,"密码没输","提示",JOptionPane.INFORMATION_MESSAGE);

}

}

else

{

JOptionPane.showMessageDialog(jFrame,"用户名没输","提示",JOptionPane.INFORMATION_MESSAGE);

}

}));

//设置相对位置:屏幕中间

jFrame.setLocationRelativeTo(null);

//确保使用窗口关闭按钮,能够正常退出,结束进程!

jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

//禁止对窗口大小进行缩放处理

jFrame.setResizable(false);

//设置可见

jFrame.setVisible(true);

}

public static String str()

{

//定义一个空字符串

String result = "";

//进行6次循环

for(int i = 0 ; i < 6 ; i ++)

{

//生成一个随机小写字母

char intVal_1 = (char)('a'+Math.random() * ('z' - 'a' +1));

//生成一个随机大写字母

char intVal_2 = (char)('A'+Math.random() * ('Z' - 'A' +1));

//生成一个随机数字

char intVal_3 = (char)(48+Math.random() * (57 - 48 +1));

//随机的取是大写还是小写

int ran = (int)(0+Math.random()*3);

switch(ran)

{case 0:

result = result + intVal_1;break;

case 1:

result = result + intVal_2;break;

case 2:

result = result + intVal_3;break;

}

}

//输出随机字符串

return result;

}

}

标签:jFrame,界面,登录,Color,9.17,JOptionPane,getText,new,Font
From: https://www.cnblogs.com/galileo9527/p/17709674.html

相关文章

  • 9.17 四次分解
     Importjava.util.Scanner; PublicclassWarehouseManagement{StaticintnumOfItems=0;StaticWarehouseInformation[]warehouseInformations=newWarehouseInformation[5]; Publicstaticvoidmain(String[]args){       initializeData();  ......
  • 每日总结|9.17-别为打翻的牛奶哭泣,今天你能拥有更美味的果汁
    超级喜欢两首歌:越来越不懂-蔡健雅你不明白-Joysaaaa今天没干什么其实,都是一些不太费脑子的。休息了,恢复精力,下周才能元气满满啊!1、王老师的需求文档作业,做了一部分,查一些资料2、看学习视频3、人月神话,今天看了不到两章(我本来还说要每天看一点呢,结果还是比较忙的)4、c#(......
  • 开学测试修改(9.17)
    packagehomework;publicclassWarehouseInformation{privateStringitemno;privateStringitemname;privateStringsuppliername;privateStringwarehousingtime;privateStringshipmenttime;privateStringwarehousenumber;privateStr......
  • 解决重复登录问题+不识别m2硬盘问题
    一、偶尔不识别固态硬盘不能启动:  修改SATA格式,不要用AHCI模式,用RAID(高级-SATA模式选择) Sudoservicelightdmstop关闭界面sudo/usr/bin/nvidia-uninstall卸载NVIDIA驱动  可以进入了安装驱动:sudo./NVIDIA-Linux-x86_64-455.45.01.run-no-x-check-no-nouvea......
  • 用python的tk写一个界面
    记录一下,tk写界面的方法。importtkinterastkimportpyautoguiaspgimporttimeimportpyperclip#剪切板调用#主体窗口设置#root=tk.Tk()root.title("护理记录")root.geometry('550x550+0+0')root.attributes("-topmost",1)font=('宋体',14)#窗......
  • 9.17
    packagetest;publicclassWarehouseInformation{privateStringitemno;//编号,八位数字privateStringitemname;//名称privateStringsuppliername;//供货商privateStringwarehousingtime;//入库时间,八位数字privateStringshipmenttime;//出库时间,......
  • 居然不用密码也能登录!
    hello,我是小索奇居然可以免密码登录你的网站?听起来是不是很恐怖确实如此,Cookie可以用于保持用户在网站上的登录状态,从而实现免密码登录,学会了不要做坏事哈这里仅做免密码登录的实操,就不介绍Cookie的作用了哈如需进一步了解Cookie请点击:Cookie好基友这里用小索奇已经登录的Github做......
  • 哇,不用密码就能登录任意网站
    hello,我是小索奇居然可以免密码登录你的网站?听起来是不是很恐怖确实如此,Cookie可以用于保持用户在网站上的登录状态,从而实现免密码登录,学会了不要做坏事哈这里仅做免密码登录的实操,就不介绍Cookie的作用了哈如需进一步了解Cookie请点击:Cookie好基友这里用小索奇已经登录的Github做......
  • 9.17 小试牛刀
    实操设计小米官网网站设计顶层黑色导航(9.17)遇到的问题1.如何链接css?<linkrel="stylesheet"type="text/css"href="style.css"/>2.如何去除无序列表前面的小点?list-style:none;3.如何弄走链接的下划线?text-decoration:none;小米logo如何与其他文字并排?这个......
  • 2023.9.17日报
    今天了解了软考的相关内容,值得一提的是,软考的上午题中有很多没有学过的内容例如计算机组成原理和操作系统,另外自己的数据结构和计算机网络也有所遗忘因此需要往回捡捡,今天了解了一些cpu的知识点,还有一些编码的内容必须要记住的是,给出一个区间,例如用32kX8bit的芯片要用多少片......