⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loginframe.java

📁 航空售票系统的代码
💻 JAVA
字号:
package com.tarena.abs.client;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.net.*;

import com.tarena.abs.model.*;


/**
 * 该类描述一个登录窗口
 * @author tony.tang
 *
 */
public class LoginFrame extends JFrame  implements ActionListener{
	private JLabel[] label;//所有标签
	private JTextField name;
	private JPasswordField password;
	private JButton ok;
	private JButton cancel;
	private JPanel jp1,jp2,jp3;
	public LoginFrame(){
		super("航班机票预定系统--网点登录");
		label=new JLabel[3];
		label[0]=new JLabel("网  点  名:");
		label[1]=new JLabel("密      码:");
		label[2]=new JLabel("网点登录");
		name=new JTextField(20);
		password=new JPasswordField(20);
		ok=new JButton("登录");
		cancel=new JButton("取消");
		jp1=new JPanel();
		jp2=new JPanel();
		jp3=new JPanel();
		init();
		setAllFont();
		addEventHandle();	
	}
	private void init(){
		jp1.setLayout(new FlowLayout(FlowLayout.CENTER,10,20));
		jp1.add(label[2]);
		this.add(jp1,BorderLayout.NORTH);
		jp2.setLayout(new FlowLayout(FlowLayout.CENTER,5,10));
		jp2.add(label[0]);jp2.add(name);
		jp2.add(label[1]);jp2.add(password);
		this.add(jp2,BorderLayout.CENTER);
		jp3.setLayout(new FlowLayout(FlowLayout.CENTER,50,20));
		jp3.add(ok);jp3.add(cancel);
		this.add(jp3,BorderLayout.SOUTH);
	}
	private void setAllFont(){
		Font f1=new Font("",Font.BOLD,20);
		Font f2=new Font("仿宋",Font.BOLD,30);
		for(int i=0;i<label.length-1;i++){
			label[i].setFont(f1);
		}
		label[label.length-1].setFont(f2);
		label[label.length-1].setForeground(Color.RED);
		name.setFont(f1);
		password.setFont(f1);
		ok.setFont(f1);
		cancel.setFont(f1);
	}
	public void showMe(){
		this.setSize(540,360);
		this.setVisible(true);
		//this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	private void addEventHandle(){
		ok.addActionListener(this);
		cancel.addActionListener(this);
	}
	
	public void actionPerformed(ActionEvent e) {
		if(e.getActionCommand().equals("登录")){//如果是登录按钮
			//判断文本框中的内容是否为空
			if(name.getText().equals("") || new String(password.getPassword()).equals("")){
				JOptionPane.showMessageDialog(this,"名称和密码不能为空!");
				return;
			}
			try {
				//创建一个请求对象,该请求的类型为登录请求。
				Request req=new Request("login");
				//向请求对象中添加数据。
				req.setData("UserName",name.getText());
				req.setData("Password",new String(password.getPassword()));
				//将请求对象写往服务器
				ClientMainClass.oos.writeObject(req);
				ClientMainClass.oos.flush();
				//从服务器获得一个应答对象
				Response res=(Response)ClientMainClass.ois.readObject();
				//解析应答对象中封装的数据
				Branch user=(Branch)res.getData();
				if(user!=null){//如果返回了一个合法的网点商(登录成功)
					//把当前代理商对象保存成全局变量
					ClientMainClass.currentUser=user;
					//创建客户端主界面
					ClientMainClass.clientFrame=new ClientMainFrame();
					//显示客户端主界面
					ClientMainClass.clientFrame.showMe();
					//销毁登录界面
					this.dispose();
				}else{//如果登录不成功
					JOptionPane.showMessageDialog(this,"对不起,名称和密码不正确,请重新输入!");
				}
			} catch (Exception e1) {
				e1.printStackTrace();
			}
			
		}else if(e.getActionCommand().equals("取消")){
			try {
				Request req=new Request("quit");
				ClientMainClass.oos.writeObject(req);
				ClientMainClass.oos.flush();
				System.exit(0);		
			} catch (Exception e1) {
				e1.printStackTrace();
			}
		}	
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -