参考已有的登陆页面可知,一般的登录页面包含图片、提示文字、文本输入框、密码输入框等,这些功能可由Java一一实现。
要完成这些功能,要用到Java的swing和awt开发工具包,在引用的对象前写入

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

这两行代码即可。

接口,在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。

接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。

除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。

接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。

源代码如下:

	

package LOG;

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

public class log {
	 public void inition(){
		 JFrame jf=new JFrame();//建立一个新的登录页面的类
		 jf.setTitle("登录界面");//标题
		 jf.setSize(360, 475);//设置页面宽高
		 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗体关闭功能,若无该行代码,即使关掉了页面,程序也会在后台运行
		 jf.setLocationRelativeTo(null);//居中显示
		 
	 FlowLayout fl=new FlowLayout();//实例化流式布局器
	 jf.setLayout(fl);//设置布局器
	 //实例化组件对象
	 //图片对象
	 ImageIcon image = new ImageIcon("C:\\Users\\jl\\Pictures\\Saved Pictures\\狼.jpg");
	 //图片标签.文字标签。注意地址中间要用两条线
	 JLabel imageJIa=new JLabel(image);
	 JLabel nameJIa=new JLabel("账号:");
	 JLabel pwdJIa=new JLabel("密码:");
	 Dimension Txtsize = new Dimension(60,40);
	 pwdJIa.setPreferredSize(Txtsize);
	 nameJIa.setPreferredSize(Txtsize);
	 JLabel NullJIa=new JLabel("");
	 JLabel NullJIa2=new JLabel("");
	 //尺寸
	 Dimension inputdim=new Dimension(230,30);
	 //输入框
	 JTextField namejtx=new JTextField();
	 JPasswordField pwdJpf=new JPasswordField();
	 //设置尺寸
	 namejtx.setPreferredSize(inputdim);
	 pwdJpf.setPreferredSize(inputdim);
	 Dimension Nullsize = new Dimension(70,30);
	 Dimension Nullsize2 = new Dimension(50,30);
	 NullJIa.setPreferredSize(Nullsize);
	 NullJIa2.setPreferredSize(Nullsize2);
	 //复选框
	 JCheckBox jBox=new JCheckBox("记住密码");
	 JCheckBox jBBox=new JCheckBox("自动登录");
	 Dimension jBoxsize=new Dimension(100,40);
	 jBox.setPreferredSize(jBoxsize);
	 jBBox.setPreferredSize(jBoxsize);
	 //按钮
	 JButton btn=new JButton("登录");
	 JButton btn2=new JButton("取消");
	 Dimension bntsize=new Dimension(60,30);
	 btn.setPreferredSize(bntsize);
	 btn2.setPreferredSize(bntsize);
	 
	 //将组建添加到容器上
	 jf.add(imageJIa);
	 jf.add(nameJIa);
	 jf.add(namejtx);
	 jf.add(pwdJIa);
	 jf.add(pwdJpf);
	 jf.add(jBox);
	 jf.add(NullJIa);
	 jf.add(jBBox);
	 jf.add(btn);
	 jf.add(NullJIa2);
	 jf.add(btn2);
	 
	 jf.setVisible(true);//窗体展示
	 
	 //实例化实现了动作监听接口的类的对象
	 LoginListener loginLis=new LoginListener();
	 
	 //给按钮添加监听器
	 btn.addActionListener(loginLis);
	 loginLis.jtx=namejtx;
	 loginLis.jpd=pwdJpf;
 }

监听器代码:

public static void main(String[] args){
	log lg=new log();
	lg.inition();
}


package LOG;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

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

public class LoginListener implements ActionListener{
	JTextField jtx;
	JPasswordField jpd;
	//组件被点击时自动调用
	public void actionPerformed(ActionEvent e){
		String namestr=jtx.getText();
		String passwordstr=jpd.getText();
	
	if(namestr.equals("123456")&&passwordstr.equals("12345678")){
		System.out.println("账号正确:"+namestr);
		System.out.println("账号密码正确");
		JFrame jf3=new JFrame();
		jf3.setTitle("登录成功界面");//标题
		 jf3.setSize(360, 475);//页面宽高
		 jf3.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗体关闭功能
		 jf3.setLocationRelativeTo(null);//居中显示
		 
		 FlowLayout fl3=new FlowLayout();//实例化流式布局器
		 jf3.setLayout(fl3);//设置布局器
		 JLabel Print2=new JLabel("登录成功");
		 jf3.add(Print2);
		 jf3.setVisible(true);//窗体展示
	}
	else{
		System.out.println("账号或密码错误");
		JFrame jf2=new JFrame();
		jf2.setTitle("登录失败界面");//标题
		 jf2.setSize(360, 475);//页面宽高
		 jf2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗体关闭功能
		 jf2.setLocationRelativeTo(null);//居中显示
		 
		 FlowLayout fl2=new FlowLayout();//实例化流式布局器
		 jf2.setLayout(fl2);//设置布局器
		 JLabel Print=new JLabel("登录失败");
		 jf2.add(Print);
		 jf2.setVisible(true);//窗体展示
	}
}