溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java如何實(shí)現(xiàn)簡(jiǎn)單GUI登錄和注冊(cè)界面

發(fā)布時(shí)間:2022-04-26 15:46:19 來(lái)源:億速云 閱讀:447 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容主要講解“Java如何實(shí)現(xiàn)簡(jiǎn)單GUI登錄和注冊(cè)界面”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Java如何實(shí)現(xiàn)簡(jiǎn)單GUI登錄和注冊(cè)界面”吧!

先看效果圖:

登陸界面:

Java如何實(shí)現(xiàn)簡(jiǎn)單GUI登錄和注冊(cè)界面

注冊(cè)界面:

Java如何實(shí)現(xiàn)簡(jiǎn)單GUI登錄和注冊(cè)界面

實(shí)現(xiàn)代碼如下:

一、登陸界面

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標(biāo)簽存放背景圖片
    private JLabel label;
    // 設(shè)置按鈕組件
    private JButton login = new JButton("登錄"), register = new JButton("注冊(cè)");

    private JLabel jlb1 = new JLabel("用戶名:"), jlb2 = new JLabel("密碼:"), jlbtitle = new JLabel("登錄界面");
    // 設(shè)置文本框組件
    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最底層上添加兩個(gè)帶圖片的標(biāo)簽,并且label2在label上方
        this.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));
        // 將內(nèi)容面板設(shè)置為透明,就能夠看見(jiàn)添加在LayeredPane上的背景。
        ((JPanel) this.getContentPane()).setOpaque(false);

        /*
         * 添加組件到contentPanel容器中 布局方式為自由布局。
         */
        contentPanel.setLayout(null);
        add(admin);
        add(password);
        add(login);
        add(register);
        add(jlb1);
        add(jlb2);
        add(jlbtitle);

        /*
         * 組件絕對(duì)位置
         */
        jlb1.setBounds(50, 130, 90, 25);
        jlb1.setForeground(Color.WHITE);
        admin.setBounds(95, 130, 300, 25);
        password.setBounds(95, 154, 300, 25);
        jlb2.setBounds(50, 154, 90, 25);
        jlb2.setForeground(Color.WHITE);
        register.setBounds(95, 225, 90, 20);
        login.setBounds(315, 225, 90, 20);
        jlbtitle.setBounds(180, 45, 200, 50);
        Font f = new Font("微軟雅黑", Font.BOLD, 30);
        jlbtitle.setFont(f);
        jlbtitle.setForeground(Color.BLUE);

        /*
         * 組件透明化
         */
        admin.setOpaque(true);
        password.setOpaque(true);
        contentPanel.setOpaque(false);
        getContentPane().add(contentPanel);

        /*
         * 組件邊框顏色
         */
        textSet(admin);
        textSet(password);
    }

    /*
     * JTextField文本框設(shè)置方法.
     */
    private void textSet(JTextField field) {
        field.setBackground(new Color(255, 255, 255));
        field.setPreferredSize(new Dimension(150, 28));
        MatteBorder border = new MatteBorder(0, 0, 2, 0, new Color(192, 192, 192));
        field.setBorder(border);
    }

    /*
     * 事件監(jiān)聽(tīng)
     */
    private void addListener() {
        login.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                forLogin(admin.getText(), password.getText());
            }

        });
        register.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                forRegister();
            }

        });
    }

    // 登錄方法
    public void forLogin(String admin, String pwd) {
    }

    // 注冊(cè)方法
    public void forRegister() {
    }
}

二、注冊(cè)界面:

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.controller.AdminLoginController;
import cn.bms.tools.GUITools;

/*
 * 注冊(cè)窗口
 */
@SuppressWarnings("serial")
public class AdminRegister extends JFrame {
    private JPanel contentPanel = new JPanel();
    // Label標(biāo)簽存放背景圖片
    private JLabel label;
    // 設(shè)置按鈕組件
    private JButton ok = new JButton("確定注冊(cè)"), back = new JButton("返回登錄");

    private JLabel jlb1 = new JLabel("用戶名:"), jlb2 = new JLabel("密碼:"), jlb3 = new JLabel("確認(rèn)密碼:"),
            jlbtitle = new JLabel("注冊(cè)界面");
    // 設(shè)置文本框組件
    private JTextField admin = new JTextField(), password1 = new JTextField(), password2 = new JTextField();

    public AdminRegister() {
        this.init();
        this.addListener();
    }

    private void init() {
        this.setTitle("管理員注冊(cè)界面");
        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最底層上添加兩個(gè)帶圖片的標(biāo)簽,并且label2在label上方
        this.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));
        // 將內(nèi)容面板設(shè)置為透明,就能夠看見(jiàn)添加在LayeredPane上的背景。
        ((JPanel) this.getContentPane()).setOpaque(false);

        /*
         * 添加組件到contentPanel容器中 布局方式為自由布局。
         */
        contentPanel.setLayout(null);
        add(admin);
        add(password1);
        add(password2);
        add(ok);
        add(back);
        add(jlb1);
        add(jlb2);
        add(jlb3);
        add(jlbtitle);

        /*
         * 組件絕對(duì)位置
         */
        jlb1.setBounds(40, 130, 90, 25);
        jlb1.setForeground(Color.WHITE);
        admin.setBounds(95, 130, 300, 25);

        password1.setBounds(95, 154, 300, 25);
        jlb2.setBounds(40, 154, 90, 25);
        jlb2.setForeground(Color.WHITE);

        password2.setBounds(95, 178, 300, 25);
        jlb3.setBounds(40, 178, 90, 25);
        jlb3.setForeground(Color.WHITE);

        ok.setBounds(315, 225, 90, 20);
        back.setBounds(95, 225, 90, 20);

        jlbtitle.setBounds(180, 45, 200, 50);
        Font f = new Font("微軟雅黑", Font.BOLD, 30);
        jlbtitle.setFont(f);
        jlbtitle.setForeground(Color.BLUE);

        /*
         * 組件透明化
         */
        admin.setOpaque(true);
        password1.setOpaque(true);
        password2.setOpaque(true);
        contentPanel.setOpaque(false);
        getContentPane().add(contentPanel);

        /*
         * 組件邊框顏色
         */
        textSet(admin);
        textSet(password1);
        textSet(password2);
    }

    /*
     * JTextField文本框設(shè)置方法.
     */
    private void textSet(JTextField field) {
        field.setBackground(new Color(255, 255, 255));
        field.setPreferredSize(new Dimension(150, 28));
        MatteBorder border = new MatteBorder(0, 0, 2, 0, new Color(192, 192, 192));
        field.setBorder(border);
    }

    /*
     * 事件監(jiān)聽(tīng)
     */
    private void addListener() {
        ok.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                setRegister(admin.getText(), password1.getText(), password2.getText());
            }
        });
        back.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                new AdminLoginController().setVisible(true);
            }
        });
    }

    // 實(shí)現(xiàn)注冊(cè)賬戶方法
    public void setRegister(String admin, String pwd1, String pwd2) {
    }
}

到此,相信大家對(duì)“Java如何實(shí)現(xiàn)簡(jiǎn)單GUI登錄和注冊(cè)界面”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI