当我开始学习图形用户界面程序设计的时候,登录界面是我实现的第一个小程序,我来分享一下我做的仿QQ简易版登陆界面。

上图

java 登录跳转新窗口 java实现登录窗口_ico


具体实现其实很简单, 我会从图形组件,实现思路,代码分析以及验证账号密码,界面跳转来说。

一,图形组件

在实现登录界面时,会用到两种图形界面类

1.AWT组件

抽象窗口工具包 (Abstract Windowing Toolkit) (AWT)是Java的平台独立的窗口系统,图形和用户界面器件工具包。AWT是Java基础类 (JFC)的一部分,为Java程序提供图形用户界面(GUI)的标准API。(来自百度百科)

常用组件:按钮(Button)

复选框(Checkbox)

文本框(TextField)

颜色(Color)

等等

布局管理器:流布局管理器(FlowLayout)

边界布局管理器(BorderLayout)

网格布局管理器(GridLayout)

卡片布局管理器(CardLayout)

2,SWING组件

Swing 是一个为Java设计的GUI工具包。Swing是JAVA基础类的一部分。Swing包括了图形用户界面(GUI)器件。Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。

JFrame顶层容器

JPenel面板,也是一种界面

基本控件:JButton按钮

JRadioButton单选按钮

JChecBox复选框

JCombBox组合框

JLabel标签

JTextField文本编辑框

JTextArea文本区域

JPasswordField密码输入框

等等,具体使用方法可查看源代码

二,实现思路

1,首先我们先创建一个窗体,具体大小自己来定,设置窗体放在合适位置,可关闭之类的;

2,蓝色QQ背景,其实是一张图片,我们可以download一张图片,把它添加到窗体上;

3,接下来,就是一些组件的添加了,自己调节好组件的大小,位置,添加到窗体的合适位置(注意:需要设置流式布局,它会让添加到容器上的组件按照布局类的方式去排列对齐。);

4,最后就是验证账号密码,如果正确,跳转到另一个界面,如果失败,说明登录失败。

三,登录界面代码分析

话不多说,直接上代码:

import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;



public class JFrameTest {
	public static void main(String args []){
		//创建对象
		JFrameTest tf=new JFrameTest();
		//使用对象调用方法
		tf.showFrame();
	}

	public void showFrame() {
		//创建一个窗体
		JFrame frame=new JFrame();
		//设置窗体标题
		frame.setTitle("登录界面");
		//设置窗体大小
		frame.setSize(450,450);
		//创建一个布局方式
		FlowLayout layout = new FlowLayout();
		//设置窗体的布局方式
		frame.setLayout(layout);
		//创建图片对象
		ImageIcon icon = new ImageIcon("D:\\QLDownLoad\\QQ.jpg");
		//创建一个图片标签对象
		JLabel iconLabel = new JLabel(icon);
		//添加图片标签对象到窗体上
		frame.add(iconLabel);
		//创建一个显示文字的标签
		JLabel iconaLabel = new JLabel("QQ");
		frame.add(iconaLabel);
		//创建一个输入框对象
		JTextField namelnput = new JTextField();
		//设置输入框的大小
		Dimension inputSize = new Dimension(300,30);
		namelnput.setPreferredSize(inputSize);
		//添加输入框到窗体上
		frame.add(namelnput);
		//创建一个复选框
		JCheckBox fuxuankuang = new JCheckBox("显示QQ");
		//添加复选框到窗体上
		frame.add(fuxuankuang);
		
		//创建密码标签
		JLabel iconbLabel = new JLabel("密码");
		//添加标签到窗体上
		frame.add(iconbLabel);
        //创建一个密码输入框
		JPasswordField jpf = new JPasswordField("密码");
		
		//设置输入框的大小
		Dimension inputeSize = new Dimension(300,30);
		jpf.setPreferredSize(inputeSize);
		
		//添加输入框到窗体上
		frame.add(jpf);
		
		//创建一个复选框
		JCheckBox fuxukuang = new JCheckBox("显示密码");
		frame.add(fuxukuang);
		//创建按钮
		JButton btn = new JButton("登录");
		//添加按钮
		frame.add(btn);
		//设置按钮颜色
		btn.setForeground(Color.GREEN);
		//设置背景颜色
		btn.setBackground(new Color(100,100,100));
		
		//创建监听器对象
		FrameListener jiantingqi = new FrameListener();
		//给按钮添加监听器
		btn.addActionListener(jiantingqi);
		//给监听器的属性赋值
		jiantingqi.input=namelnput;
		jiantingqi.input=jpf;
		
		
		//设置窗体可见
		frame.setVisible(true);
	}
	
}

四,账号密码验证以及界面跳转

import java.awt.event.ActionEvent;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
public class FrameListener implements ActionListener {
	//输出入框的对象
	JTextField input;
	public void actionPerformed(ActionEvent e){
		//获取内容
		String name = input.getText();
		String password = input.getText();
		//自己设置账号密码
		if(name.equals("1022") | password.equals("1234")){
			JFrame frame = new JFrame();
			frame.setSize(300,300);
            frame.setTitle("登录成功");
			frame.setVisible(true);
		}
		else{
			System.out.println("登录错误");			
		}
	}
}

登录成功后:

java 登录跳转新窗口 java实现登录窗口_Java_02


现在我们实现了登陆界面,以及验证账号密码正确后的跳转界面。