Java GUI 实现登录界面

具体效果图:

在这里插入图片描述

详细代码:

package java_gui;import java.awt.Color;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.Font;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JRootPane;
import javax.swing.JTextField;public class Login extends JFrame {private static final long serialVersionUID = -6788045638380819221L;//用户名private JTextField ulName;//密码private JPasswordField ulPasswd;//小容器private JLabel j1;private JLabel j2;private JLabel j3;private JLabel j4;//小按钮private JButton b1;private JButton b2;private JButton b3;//复选框private JCheckBox c1;private JCheckBox c2;//列表框private JComboBox<String> cb1;/*** 初始化QQ登录页面* */public Login() {//设置登录窗口标题this.setTitle("QQ登录");//去掉窗口的装饰(边框)//  this.setUndecorated(true);//采用指定的窗口装饰风格this.getRootPane().setWindowDecorationStyle(JRootPane.NONE);//窗体组件初始化init();this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置布局为绝对定位this.setLayout(null);this.setBounds(0, 0, 355, 265);//设置窗体的图标Image img0 = new ImageIcon("D:/logo.png").getImage();this.setIconImage(img0);//窗体大小不能改变this.setResizable(false);//居中显示this.setLocationRelativeTo(null);//窗体显示this.setVisible(true);}/*** 窗体组件初始化* */public void init() {//创建一个容器,其中的图片大小和setBounds第三、四个参数要基本一致(需要自己计算裁剪)Container container = this.getContentPane();j1 = new JLabel();//设置背景色Image img1 = new ImageIcon("D:/bgimg.png").getImage();j1.setIcon(new ImageIcon(img1));j1.setBounds(0, 0, 355, 265);//qq头像设定j2 = new JLabel();Image img2 = new ImageIcon("D:/hdimg.png").getImage();j2.setIcon(new ImageIcon(img2));j2.setBounds(40, 95, 50, 53);//用户名输入框ulName = new JTextField();ulName.setBounds(100, 100, 150, 20);//注册账号j3 = new JLabel("注册账号");j3.setBounds(260, 100, 70, 20);//密码输入框ulPasswd = new JPasswordField();ulPasswd.setBounds(100, 130, 150, 20);//找回密码j4= new JLabel("找回密码");j4.setBounds(260, 130, 70, 20);//记住密码c1 = new JCheckBox("记住密码");c1.setBounds(105, 155, 80, 15);//自动登陆c2 = new JCheckBox("自动登陆");c2.setBounds(185, 155, 80, 15);//用户登陆状态选择cb1 = new JComboBox<String>();cb1.addItem("在线");cb1.addItem("隐身");cb1.addItem("离开");cb1.setBounds(40, 150, 55, 20);//登陆按钮b1 = new JButton("登录");//设置字体和颜色和手形指针b1.setFont(new Font("宋体", Font.PLAIN, 12));b1.setForeground(Color.RED);b1.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));b1.setBounds(280, 200, 65, 20);//给按钮添加b1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String cmd = e.getActionCommand();if("登录".equals(cmd)) {String username = ulName.getText();String userpassword = ulPasswd.getText();if(username.equals("tskk") && userpassword.equals("123456")) {JOptionPane.showConfirmDialog(null, "登录成功");} else {JOptionPane.showConfirmDialog(null, "登录失败");}}}});//多账号b2 = new JButton("多账号");b2.setBounds(5, 200, 75, 20);//设置b3 = new JButton("设置");b3.setBounds(100, 200, 65, 20);//所有组件用容器装载j1.add(j2);j1.add(j3);j1.add(j4);j1.add(c1);j1.add(c2);j1.add(cb1);j1.add(b1);j1.add(b2);j1.add(b3);container.add(j1);container.add(ulName);container.add(ulPasswd);}public static void main(String[] args) {new Login();}
}

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

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

相关文章

for-each循环的认识、定义、适用对象、举例、局限性

文章目录1. for-each的认识2. for-each的定义3. 哪些类型的对象可以适用For-Each&#xff1f;4. for-each的举例5. for-each的局限性1. for-each的认识 &#xff08;1&#xff09;for-each语句是Java中for-Index的一种加强&#xff0c;是Java 5带来的新语法糖。 &#xff08;2…

C语言 实现登录注册功能

文章目录加载动画实验结果图实验代码加载动画 #include<iostream> #include<windows.h> using namespace std;int main(){cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;cout.widen(65);co…

C语言小游戏 ——俄罗斯方块

#include<stdio.h> #include<stdlib.h> #include<windows.h>//Sleep()函数的头文件 #include<time.h> #include<conio.h> #define MOD 28 #define SIZE_N 19//控制边框的高度 #define SIZE_M 12 //控制边框的宽度 int a[100]{200,30,20};/…

C/C++课程设计 之职工管理系统

文章目录 (一) 题目内容及简介(二) 概要设计(三) 详细设计(四) 实现代码(五) 相关案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十案例十一(一) 题目内容及简介 1.课题来源 课题名称和来源,主要介绍为何选择此题目来开展课程设计,此课题的开展能体现面向…

C++ 知识要点

1.类与对象 类是事物的抽象。类的对象就是类的具体化&#xff0c;实际化 2.C三大特性 继承、封装、多态 3.C父类与子类继承过程中&#xff0c;子类的特点&#xff1f; 子类拥有父类的所有属性和行为 子类就是一种特殊的父类 子类对象可以当作父类对象使用 子类中可以添加父类…

C/C++小游戏 ——贪吃蛇

文章目录案例一案例二案例三案例四案例五案例六案例七案例八案例九案例一 #include <stdio.h>#include <windows.h>#include <conio.h>#include <time.h>//游戏窗口#define FrameX 4//游戏窗口左上角的X轴坐标#define FrameY 4//游戏窗口左上角的Y轴坐…

C/C++课程设计 新生入学管理系统(二)

文章目录 案例十六案例十七案例十八案例十九案例二十案例二十一案例二十二案例二十三案例二十四案例二十五案例二十六案例二十七案例二十八案例十六 #include<iostream> #include<cstring> //strcpy,strcmp #

Java类名.方法和变量

文章目录(1) 类名.方法(2) 变量(1) 类名.方法 要是类名直接调用的方法&#xff0c;那这个方法就是静态的(static)方法&#xff0c;是不用new出新对象实例就可以直接调用的方法。看下面例子&#xff1a; class A {public static void Method1(int a, int b) {//方法体}public …

Java小案例(二) 用数组实现增删查改排序

文章目录案例一案例二案例三案例四案例五案例一 Student.Java package curd;public class Student {private String stuid;private String name;private int chinese;private int math;private int english;private int avg;private int sum;public int getAvg() {return avg;…

有趣的一行代码

文章目录爱心曼德勃罗集合打印99乘法表实现快速排序禅语漫画迷宫爱心 print(\n.join([.join([(❤❤❤❤❤❤❤❤❤❤❤❤[(x-y)%12]if((x*0.05)**2(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<0 else )for x in range(-30,30)])for y in range(15,-15,-1)]))效果图&#xff1…

Python练习之 对文件进行创建,然后重命名文件最近进行文件删除

import os os.mkdir("D:\\1815925603") context ("序号&#xff1a;1815925603\n""姓名&#xff1a;阿信\n""班级&#xff1a;18云计算2班\n") with open (D:\\1815925603\\file1.txt,a) as fp:fp.write(context)fp.seek(0, 0) with …

Java接口中的成员变量为什么必须是static ?

接口的含义 接口就是提供一种统一的协议, 而接口中的属性也属于协议中的成员。它们是公共的,静态的,最终的常量。相当于全局常量。 在interface里面的变量都是public static final 的。 public static final int i10;等价于int i10;(可以省略掉一部分) //注意在声明的时候要…

Java函数式编程和面向对象编程

文章目录什么是函数式编程&#xff1f;什么是面向对象编程&#xff1f;函数式编程和面向对象编程的优缺点什么是函数式编程&#xff1f; 函数式编程的核心&#xff1a;在思考问题时&#xff0c;使用不可变对象和函数&#xff0c;函数将一个值经过处理&#xff0c;映射成另一个…

JDBC实现图书管理小案例

文章目录项目文件结构项目运行效果项目详细代码项目文件下载相关案例案例一案例二案例三案例四案例五案例六案例七案例八项目文件结构 项目运行效果 项目详细代码 JDBCUtils.java package jdbc;import java.sql.*; import com.mysql.jdbc.Driver;public class JDBCUtils {pri…

Java实现多线程售票

文章目录Synchronized和Lock的区别是什么&#xff1f;案例一方法一 继承Thread类方法二 实现Runnable接口案例二方法一 继承Thread类方法二 实现Runnable接口案例三方法一 继承Thread类方法二 实现Runnable接口案例四方法一 继承Thread类方法二 实现Runnable接口案例五方法一 继…

基于TCP原理,采用Socket通信技术,实现聊天室

文章目录案例一案例二案例三案例四案例五相关案例案例一 Client.java package SocketCode;import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import java.io.*; import …

HTML+CSS+JS 实现登录注册界面

文章目录案例一 滑动样式案例二 滑动样式案例三 动态样式案例四 普通样式案例五 滑动样式案例六 普通样式具体怎么获取呢&#xff1f;案例一 滑动样式 login.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">…

数据结构课程设计 迷宫问题

文章目录一、 目的与要求二、 问题描述和求解方法三、 解题过程四、 实现源码五、 相关案例案例一案例二一、 目的与要求 1、目的&#xff1a; 通过布置具有一定难度的实际程序设计项目&#xff0c;使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和…

html+css 小案例(一)

文章目录点击下载index.html <!DOCTYPE html> <html lang"ch"> <head><meta charset"UTF-8"><title>Demo_Test</title><link rel"stylesheet" href"css/Dec.css"> </head> <body…

HTML+CSS+JS 表白代码

文章目录案例一 爱你到天昏地暗案例二 带有音乐的表白代码案例三 带有图片旋转的表白案例源码案例一 爱你到天昏地暗 <html> <style type"text/css"> <!-- .STYLE1 {font-size: medium} --> </style> <center><br><br>…