(笔记)图形用户界面:awt组件及swing组件 简单实例

代码执行类:

package ch13.day0731.zy.zy01;
public class Start {
	public static void main(String[] args) {
		LoginFrm vLoginFrm=new LoginFrm();
		vLoginFrm.setVisible(true);	
	}
}

登录界面:

import java.awt.*;
import java.awt.Event.*;
import java.awt.event.ActionEvent;
import javax.swing.*;
public class LoginFrm extends JFrame {
	//构造方法
	public LoginFrm() {
		this.initUI();
		this.binEvent();
	}
	//****声明*****//
	//容器对象
	private JPanel container;
	//标签
	private JLabel lblLoginName;
	private JLabel lblLoginPwd;
	//按钮
	private JButton btnLogin;
	//文本
	private JTextField txtLoginName;
//	private JTextField txtLoginPwd;
	//文本加密显示
	private JPasswordField txtLoginPass;
	
	//*******登录界面********//
	private void initUI() {
		//窗体宽高
		this.setSize(400,300);
		//设置标题
		this.setTitle("系统登录");
		//不允许最大化
		this.setResizable(false);
		
		//实例化容器对象
		container=new JPanel();
		//容器对象布局设置为null,代表绝对布局(根据坐标)
		container.setLayout(null);
		//将容器对象添加到当前窗体
		this.add(container);
		
		//*********用户名组件************//
		//初例化组件
		lblLoginName = new JLabel();
		//设置组件文本
		lblLoginName.setText("用户名:");
		//设置组件的绝对位置:x/y/width/height
		lblLoginName.setBounds(50,50,80,50);
		//将上述组件放置到container容器对象里
		container.add(lblLoginName);
		
		//初例化组件
		txtLoginName=new JTextField();
		//设置组件文本
		//txtLoginName.setText("admin");
		//设置组件的绝对位置:x/y/width/height
		txtLoginName.setBounds(130,60,180,30);
		//将上述组件放置到container容器对象里
		container.add(txtLoginName);
		
		//*********登录按钮************//
		//初例化组件
		btnLogin=new JButton();
		//设置组件文本
		btnLogin.setText("登录");
		//设置组件的绝对位置:x/y/width/height
		btnLogin.setBounds(130,150,80,30);
		//将上述组件放置到container容器对象里
		container.add(btnLogin);
		
		//***********密码组件**********//
		//初例化组件
		lblLoginPwd = new JLabel();
		//设置组件文本
		lblLoginPwd.setText("密码:");
		//设置组件的绝对位置:x/y/width/height
		lblLoginPwd.setBounds(50,80,80,50);
		//将上述组件放置到container容器对象里
		container.add(lblLoginPwd);
		
		//初例化组件
		txtLoginPass=new JPasswordField();
		//设置组件文本
		//txtLoginPass.setText("123");
		//设置组件的绝对位置:x/y/width/height
		txtLoginPass.setBounds(130,100,180,30);
		//设置加密符号
		txtLoginPass.setEchoChar('喵');
		//将上述组件放置到container容器对象里
		container.add(txtLoginPass);
	}
	//*******事件绑定********//
	private void binEvent() {
		//点击右上角的关闭按钮时关闭当前窗体
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//动作监听
		btnLogin.addActionListener(e->{
			btnLogin_click(e);
		});
		
	}
	
	//*******系统主菜单界面********//
	private void customload() {
		
	}
	
	//*******事件********//
	ManagerDao managerDao=new ManagerDao();
	private void btnLogin_click(ActionEvent e) {
		String vLoginName=txtLoginName.getText();
		String vLoginPass=txtLoginPass.getText();
		
		this.setTitle(txtLoginName.getText());
		System.out.println("登录...");
		
		//ManagerDao.java
		boolean vIsOk=managerDao.login(vLoginName, vLoginPass);
		
		if(vIsOk) {
			System.out.println("登录成功!");
			MainFrm vMainFrm=new MainFrm();
			this.setVisible(false);
			vMainFrm.setVisible(true);
		}else {
			System.out.println("登录失败!");
		}	
	}	
}

主界面(二级页面):

package ch13.day0731.zy.zy01;

import java.awt.*;
import java.awt.Event.*;
import java.awt.event.ActionEvent;

import javax.swing.*;

public class MainFrm extends JFrame {
	//构造方法
	public MainFrm() {
		this.initUI();
		this.binEvent();
	}
	//****声明*****//
	//容器对象
	private JPanel container;
	//标签
	private JLabel lblLoginName;
	private JLabel lblLoginPwd;
	//按钮
	private JButton btnLogin;
	//文本
	private JTextField txtLoginName;
//	private JTextField txtLoginPwd;
	//文本加密显示
	private JPasswordField txtLoginPass;
	
	//*******登录界面********//
	private void initUI() {
		//窗体宽高
		this.setSize(800,600);
		//设置标题
		this.setTitle("学生信息管理系统");
		//不允许最大化
		this.setResizable(false);
		
		//实例化容器对象
		container=new JPanel();
		//容器对象布局设置为null,代表绝对布局(根据坐标)
		container.setLayout(null);
		//将容器对象添加到当前窗体
		this.add(container);
	
	}
	//*******事件绑定********//
	private void binEvent() {
		
		
	}
	
	//*******系统主菜单界面********//
	private void customload() {
		
	}
}

用户信息存储层:

package ch13.day0731.zy.zy01;
public class DataCenter {
	public static Manager[] manager=new Manager[100];
	/**
	 * 初始化对象的所有属性
	 */
	static{
		
		for(int i=0;i<3;i++) {
			manager[i]=new Manager();
		}
		manager[0]=new Manager("admin","123");
		manager[1]=new Manager("user","123");
		manager[2]=new Manager("good","123");	
	}	
}

管理员类:

package ch13.day0731.zy.zy01;
public class Manager {
	private String userName;
	private String userPwd;
	
	//getter  setter
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getUserPwd() {
		return userPwd;
	}
	public void setUserPwd(String userPwd) {
		this.userPwd = userPwd;
	}
	//构造方法
	public Manager() {}
	public Manager(String userName,String userPwd){
		this.setUserName(userName);
		this.setUserPwd(userPwd);
	}
}

管理员信息操作层:

package ch13.day0731.zy.zy01;
public class ManagerDao {
	// 判断账密是否存在
	public boolean login(String pUserName, String pUserPwd) {
		boolean isRight = false;
		if(pUserName!=null&&pUserPwd!=null) {
			for (int i = 0; i < DataCenter.manager.length; i++) {
				if (DataCenter.manager[i] == null) {
					break;
				}
				isRight = pUserName.equals(DataCenter.manager[i].getUserName())
						&& pUserPwd.equals(DataCenter.manager[i].getUserPwd());
				if (isRight) {
					break;
				}
			}
		}		
		return isRight;
	}

	// 修改账密
	public boolean change(String pUserName, String pNewPwd) {
		boolean isOk = false;
		
			for (int i = 0; i < DataCenter.manager.length; i++) {
				if (DataCenter.manager[i] == null) {
					break;
				}
				isOk = pUserName.equals(DataCenter.manager[i].getUserName());
				if (isOk) {
					DataCenter.manager[i].setUserPwd(pNewPwd);
					break;
				}
			}
		return isOk;
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_42325507/article/details/81437023