写在前面的话:

  1. 参考资料:Java实现登录注册界面【点击此处,了解详情】
  2. 参考资料:Java Swing图形界面开发【点击此处,了解详情】
  3. 本章内容:Java Swing 登录界面
  4. IDE:IntelliJ IDEA 2021.2.1
  5. JDK:Java8

目录

1.项目展示 

2.项目结构 

 3.相关知识了解

 3.1建立一个窗口 

 3.2 设置字体颜色

 3.2 设置字体大小

3.3 设置文本在标签的位置 

 4.实战登录界面 


1.项目展示 

项目展示: 

2.项目结构 

项目结构:

 3.相关知识了解

 3.1建立一个窗口 

MyFrame.java 作用:建立一个窗口 

import javax.swing.*;

public class MyFrame {

    public static void main(String[] args) {

        //1.创建一个主要框架
        JFrame jFrame = new JFrame("测试");

        //2.设置窗口大小
        jFrame.setSize(500,500);

        //3.启动窗口关闭功能
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        //4.设置窗口是否禁止放大功能
        /*
            true  -> 窗口可以进行缩放
            false -> 窗口不可以进行放大
         */
        jFrame.setResizable(false);

        //5.设置窗口初始位置为屏幕中央
        jFrame.setLocationRelativeTo(null);

        //6.设置窗口可见
        jFrame.setVisible(true);
    }
}

效果截图: 

 3.2 设置字体颜色

setForeground(new Color(0xFF0000));

 参数说明:

  1. 0xff0000 表示红色,在这里填入表示颜色的十六进制[在线颜色选择器]
  2. Color也可以参数也可以填多种

上述Color类的基本用法: new Color(255,255,255,255);//设置颜色以及透明度

 举例子:

import javax.swing.*;
import java.awt.*;

public class MyFrame {

    public static void main(String[] args) {

        JFrame jFrame = new JFrame("测试");
        jFrame.setSize(500,500);
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        jFrame.setResizable(false);
        jFrame.setLocationRelativeTo(null);

        /*
            创建一个标签
         */
        //1.创建一个标签,并给标签指定参数"测试文本"
        JLabel jLabel = new JLabel("测试文本");
        //2.设置标签的字体颜色,如:红色
        jLabel.setForeground(new Color(0xff0000));
        //3.将标签添加进框架中
        jFrame.add(jLabel);

        jFrame.setVisible(true);
    }
}

结果截图:

 3.2 设置字体大小

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

参数说明:

  1. ”黑体“ 表示字体名称
  2. Font.PLAIN 表示正常字体(除此之外,还有粗体BOLD和斜体ITALIC
  3. 20 表示字体大小

字体样式(正常、粗体、斜体) 

举例子: 

import javax.swing.*;
import java.awt.*;

public class Frame01 {

    public static void main(String[] args) {

        JFrame jFrame = new JFrame("测试");
        jFrame.setSize(500,500);
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        jFrame.setResizable(false);
        jFrame.setLocationRelativeTo(null);

        /*
            创建一个标签
         */
        //1.创建一个标签,并给标签指定参数"测试文本"
        JLabel jLabel = new JLabel("测试文本");
        //2.设置标签的字体颜色,如:红色
        jLabel.setForeground(new Color(0xff0000));
        //3.设置标签的字体大小
        jLabel.setFont(new Font("黑体", Font.PLAIN,50));
        //4.将标签添加进框架中
        jFrame.add(jLabel);

        jFrame.setVisible(true);
    }
}

 效果截图:

3.3 设置文本在标签的位置 

setBounds(140,60,300,300);

 参数说明:

  1. 140 表示横轴上的坐标
  2. 60   表示纵轴上的坐标
  3. 300 表示宽度
  4. 300 表示高度

屏幕坐标(重点!)

 举例子:

import javax.swing.*;
import java.awt.*;

public class Frame01 {

    public static void main(String[] args) {

        JFrame jFrame = new JFrame("测试");
        jFrame.setSize(500,500);
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        jFrame.setResizable(false);
        jFrame.setLocationRelativeTo(null);

        //不使用布局管理器,采取绝对定位
        jFrame.setLayout(null);

        /*
            创建一个标签
         */
        //1.创建一个标签,并给标签指定参数"测试文本"
        JLabel jLabel = new JLabel("测试文本");
        //2.设置标签的字体颜色,如:红色
        jLabel.setForeground(new Color(0xff0000));
        //3.设置标签的字体大小
        jLabel.setFont(new Font("黑体", Font.PLAIN,50));
        //4.设置文本在标签的位置
        jLabel.setBounds(140,60,300,300);
        //5.将标签添加进框架中
        jFrame.add(jLabel);

        jFrame.setVisible(true);
    }
}

效果截图:(显示在中央)

 4.实战登录界面 

Login.java 登录界面

package login;

import student_manage.StudentManage;

import javax.swing.*;
import java.awt.*;

public class Login{

    public static void main(String[] args) {

        //创建一个主要框架,将其命名为”登录"
        JFrame jFrame = new JFrame("登录");

        //设置窗口大小
        jFrame.setSize(900,507);

        //先将布局管理器置为null
        jFrame.setLayout(null);

        //添加标签【学生管理系统】
        JLabel textStudentManage = new JLabel("学生管理系统");//创建一个标签,并命名为“学生管理系统“
        textStudentManage.setForeground(new Color(0x0010FF));//设置字体颜色
        textStudentManage.setFont(new Font("黑体", Font.PLAIN,50));//设置字体大小
        textStudentManage.setBounds(280,50,800,100);//设置标签的绝对位置
        jFrame.add(textStudentManage);//向框架中添加组件【标签(学生管理系统)】

        //添加标签【用户名】
        JLabel textUser = new JLabel("用户名:");
        textUser.setForeground(new Color(0xFF0000));
        textUser.setFont(new Font("黑体", Font.PLAIN,30));
        textUser.setBounds(200,140,200,100);
        jFrame.add(textUser);

        //添加输入框【用户名输入框】
        JTextField user = new JTextField(20);
        user.setFont(new Font("黑体", Font.PLAIN,18));
        user.setSelectedTextColor(new Color(0xFF0000));
        user.setBounds(330,170,280,40);
        jFrame.add(user);

        //添加标签【密码】
        JLabel textPassword = new JLabel("密码  :");
        textPassword.setForeground(new Color(0xFF0000));
        textPassword.setFont(new Font("黑体", Font.PLAIN,30));
        textPassword.setBounds(200,200,200,100);
        jFrame.add(textPassword);

        //添加密码输入框【密码】
        JPasswordField password = new JPasswordField(20);
        password.setBounds(330,230,280,40);
        jFrame.add(password);

        //添加按钮【登录】
        JButton jButton = new JButton("登录");
        jButton.setForeground(new Color(0x023BF6));
        jButton.setBackground(new Color(0x38FF00));
        jButton.setFont(new Font("黑体", Font.PLAIN,20));
        jButton.setBorderPainted(false);
        jButton.setBounds(300,330,100,50);
        jFrame.add(jButton);

        //添加按钮【注册】
        JButton register = new JButton("注册");
        register.setForeground(new Color(0x0029FF));
        register.setBackground(new Color(0xECA871));
        register.setFont(new Font("黑体", Font.PLAIN,20));
        register.setBorderPainted(false);
        register.setBounds(500,330,100,50);
        jFrame.add(register);

        //对按钮事件进行处理
        jButton.addActionListener((e -> {

            /*
                账号:admin
                密码:123456
             */

            //设定条件
            String pwd = new String(password.getPassword());
            if(user.getText().equals("admin")){
                if(pwd.equals("123456")){
                    //密码账号正确,进入学生管理系统
                    //进入学生管理系统
                    jFrame.setVisible(false);//将登录界面设定为不可见
                    new StudentManage().StudentMainInterface();
                }else{
                    //密码不正确
                    JOptionPane.showMessageDialog(jFrame,"密码错误","提示",JOptionPane.INFORMATION_MESSAGE);
                    //将密码框置空
                    password.setText("");
                }
            }else{
                //用户名错误
                JOptionPane.showMessageDialog(jFrame,"用户名错误","提示",JOptionPane.INFORMATION_MESSAGE);
                //将用户名和密码置空
                user.setText("");
                password.setText("");
            }
        }));

        //设置相对位置:屏幕中间
        jFrame.setLocationRelativeTo(null);

        //确保使用窗口关闭按钮,能够正常退出,结束进程!
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        //禁止对窗口大小进行缩放处理
        jFrame.setResizable(false);

        //设置可见
        jFrame.setVisible(true);
    }

}

 StudentManage.java 学生管理系统空框架

package student_manage;

/*
    登录之后进入的页面【学生管理系统】
 */

import javax.swing.*;

public class StudentManage {


    public void StudentMainInterface(){

        //创建一个窗口,并设置窗口名称为”登录”
        JFrame jFrame = new JFrame("学生管理系统");

        //设置窗口大小
        jFrame.setSize(1400,900);

        //设置相对位置:屏幕中间
        jFrame.setLocationRelativeTo(null);

        //确保使用窗口关闭按钮,能够正常退出,结束进程!
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        //禁止对窗口大小进行缩放处理
        jFrame.setResizable(false);

        //设置可见
        jFrame.setVisible(true);

    }

}

演示部分:

 

 密码错误,会提示。

 用户名和密码登录成功后,进入”学生管理系统“。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐