package client.frm;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.border.LineBorder;
import javax.swing.border.TitledBorder;

import data.UserState;

 /**
 * 登录面板类。<br>
 */
public class LoginPane extends JFrame implements ActionListener{

	private JLabel lblImg = new JLabel();
	private JLabel lblJQNum = new JLabel("JQ账号");
	private JComboBox boxJQNum = new JComboBox();
	private JLabel lblPassword = new JLabel("JQ密码");
	private JPasswordField pfPassword = new JPasswordField();
	
	private JLabel lblState = new JLabel("状态:");
	private JComboBox boxState = new JComboBox();
	private JCheckBox boxAutoLogin = new JCheckBox("自动登录");
	
	private JButton btnRegister = new JButton("申请账号");
	private JButton btnSet = new JButton("设置↓");
	private JButton btnLogin = new JButton("登录");
	
	private JLabel lblServerIP = new JLabel("服务器IP:");
	private JTextField txtServerIP = new JTextField("127.0.0.1");
	private JLabel lblServerPort = new JLabel("端口:");
	private JTextField txtServerPort = new JTextField("3608");
	private boolean isSet = false;
	/**
	 * 登陆窗体。
	 * 
	 */
	public LoginPane() {
		setTitle("JQ用户登录");
		setSize(324,235);
		setResizable(false);
		Toolkit tk=Toolkit.getDefaultToolkit();
		setLocation((tk.getScreenSize().width-getSize().width)/2,(tk.getScreenSize().height-getSize().height)/2);
		setBackground(new Color(224,244,251));
		
		init();
		btnLogin.addActionListener(this);
		btnRegister.addActionListener(this);
		btnSet.addActionListener(this);
		
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setVisible(true);
	}
	
	/**
	 * 初始化登陆窗体的面板。
	 */
	private void init(){
		lblImg.setIcon(new ImageIcon(LoginPane.class.getResource("/client/images/top.gif")));
		lblImg.setPreferredSize(new Dimension(325,47));
		
		boxState.addItem(UserState.ONLINESTATE);
		boxState.addItem(UserState.HIDDENSTATE);
		boxState.addItem(UserState.DEPARTURESTATE);
		boxState.addItem(UserState.BUSYSTATE);
		boxState.setBackground(new Color(240,250,255));
		boxState.setPreferredSize(new Dimension(60,20));
		boxAutoLogin.setBackground(new Color(240,250,255));
		
		boxJQNum.setEditable(true);
		boxJQNum.setPreferredSize(new Dimension(140,20));
		pfPassword.setPreferredSize(new Dimension(140,20));
		
		txtServerIP.setPreferredSize(new Dimension(80,20));
		txtServerPort.setPreferredSize(new Dimension(50,20));
		
		JPanel pane = new JPanel();
		pane.setBackground(new Color(240,250,255));
		pane.setBorder(new LineBorder(new Color(144,185,215)));
		pane.setLayout(new FlowLayout(FlowLayout.CENTER,15,12));
		pane.setPreferredSize(new Dimension(300,110));
		
		
		pane.add(new FillWidth(20,20,new Color(240,250,255)));
		pane.add(lblJQNum);
		pane.add(boxJQNum);
		pane.add(new FillWidth(20,20,new Color(240,250,255)));
		pane.add(new FillWidth(20,20,new Color(240,250,255)));
		pane.add(lblPassword);
		pane.add(pfPassword);
		pane.add(new FillWidth(20,20,new Color(240,250,255)));
		pane.add(lblState);
		pane.add(boxState);
		pane.add(boxAutoLogin);
		
		TitledBorder tb = new TitledBorder(new LineBorder(Color.GRAY),"网络设置");
		JPanel paneSet = new JPanel();
		paneSet.setPreferredSize(new Dimension(300,60));
		paneSet.setBorder(tb);
		paneSet.add(lblServerIP);
		paneSet.add(txtServerIP);
		paneSet.add(new FillWidth(30,20));
		paneSet.add(lblServerPort);
		paneSet.add(txtServerPort);
		
		setLayout(new FlowLayout(FlowLayout.CENTER,5,0));
		add(lblImg);
		add(new FillWidth(100,8));
		add(pane);
		add(new FillWidth(300,8));
		add(btnRegister);
		add(btnSet);
		add(new FillWidth(65,20));
		add(btnLogin);
		add(new FillWidth(300,8));
		add(paneSet);
		
	}
	
	/**
	 * 设置按钮、登陆按钮、注册按钮的事件。
	 */
	public void actionPerformed(ActionEvent e) {
		if(e.getSource()==btnSet){
			if(isSet){
				isSet = false;
				setSize(getWidth(),getHeight()-65);
				btnSet.setText("设置↓");
			}else{
				isSet = true;
				setSize(getWidth(),getHeight()+65);
				btnSet.setText("设置↑");
			}
		}
		if(e.getSource()==btnLogin){
			dispose();
			new MainPane(txtServerIP.getText(),Integer.parseInt(txtServerPort.getText()),Integer.parseInt(boxJQNum.getSelectedItem().toString()),new String(pfPassword.getPassword()),((UserState)boxState.getSelectedItem()).getState());
		}
		if(e.getSource()==btnRegister){
			dispose();
			new RegisterPane();
		}
		
	}
	public static void main(String[] args) {
		LoginPane login=new LoginPane();
	}
}
最近下载更多
陈小灏  LV14 2023年12月27日
xinxin23383  LV4 2023年11月28日
liugua777  LV2 2023年5月7日
微信网友_6444139264921600  LV6 2023年4月29日
xiexiaoming05  LV14 2022年5月21日
waitingforyou  LV20 2022年3月31日
13112360  LV2 2021年12月5日
Aoifee  LV4 2021年11月9日
18350164218  LV13 2021年6月18日
1029162867  LV13 2021年6月15日
最近浏览更多
krispeng  LV7 4月15日
347469264  LV1 4月2日
pengboyue  LV1 4月1日
woldxy  LV12 4月1日
小安同学  LV7 2023年12月25日
xinxin23383  LV4 2023年11月28日
xp95323  LV14 2023年11月27日
3334004690  LV3 2023年10月18日
wertttak  LV1 2023年9月26日
1748462964  LV1 2023年7月14日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友