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

📄 loginui.java

📁 是一个JAVA通讯程序.功能不多
💻 JAVA
字号:
package clientele;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.net.InetAddress;
import java.net.UnknownHostException;
import javax.swing.JButton;
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;

public class LoginUI implements ActionListener
{
	/**
	 * 窗体
	 */
	private JFrame jFrame = null;

	/**
	 * 放置其他所有组件
	 */
	private JPanel jContentPane = null;

	/**
	 * 放置字符串号码
	 */
	private JLabel toID = null;

	/**
	 * 号码输入框
	 */
	private JTextField ID = null;

	/**
	 * 放置字符串密码
	 */
	private JLabel topass = null;

	/**
	 * 密码输入框
	 */
	public JPasswordField PasswordField = null;

	/**
	 * 登录按钮
	 */
	private JButton login = null;

	/**
	 * 取消按钮
	 */
	private JButton quit = null;

	/**
	 * 注册按钮
	 */
	private JButton regedit = null;

	/**
	 * 登录IP
	 */
	private JLabel IP = null;
	
	/**
	 *获取本地IP
	*/
		public static InetAddress getLocalHost() throws UnknownHostException
		{
			InetAddress LocalIP = InetAddress.getLocalHost();
			return LocalIP;
		}
		
	/**
	 * 此方法初始化jFrame
	 */
	public JFrame getJFrame()
	{
		if (jFrame == null)
		{
			jFrame = new JFrame();// 实例化jFrame
			jFrame.setSize(265, 174);// 封装jFrame对象的宽度和高度
			jFrame.setTitle("用户登录");// 设置窗体标题
			Toolkit toolkit = jFrame.getToolkit();// Tookit是AWT所有实际实现的抽象超类
			Dimension screen = toolkit.getScreenSize();// 得到屏幕的大小
			jFrame.setIconImage(Toolkit.getDefaultToolkit().getImage(
					getClass().getResource("/picture/client.jpg")));// 设置窗体图标		
			jFrame.setBounds(screen.width / 2 - 265 / 2,
					screen.height / 2 - 174 / 2, 318, 206);// //让窗体在屏幕正中央显示
			jFrame.setContentPane(getJContentPane());// 把窗体的内容面板设置为jContentPane
			jFrame.setResizable(false);// //固定窗口大小
			jFrame.setVisible(true);// 设置窗体为可见
			regedit.addActionListener(this);// 为添加行为事件监听
			login.addActionListener(this);// 为添加行为事件监听
			quit.addActionListener(this);// 为添加行为事件监听
			jFrame.addWindowListener(new WindowAdapter() {// 添加窗口时间监听
						public void windowClosing(WindowEvent e)
						{
							System.exit(0);
						}
					});
			jFrame.setDefaultCloseOperation(1);
			jFrame.getRootPane().setDefaultButton(login);
		}
		return jFrame;// 返回jFrame,此时上面的以添加好
	}

	/**
	 * 此方法初始化jContentPane
	 */
	private JPanel getJContentPane()
	{
		if (jContentPane == null)
		{
			topass = new JLabel();
			topass.setBounds(new Rectangle(36, 67, 60, 25));// Rectangle指定了坐标空间中的一个区域
			topass.setText("用户密码");
			toID  = new JLabel();
			toID .setBounds(new Rectangle(36, 28, 60, 25));
			toID .setText("  用户名");
			jContentPane = new JPanel();
			jContentPane.setBackground(new Color(153, 153, 255));
			jContentPane.setLayout(null);
			jContentPane.add(toID );
			jContentPane.add(getJTextField());
			jContentPane.add(topass);
			jContentPane.add(getJPasswordField());
			jContentPane.add(getJButton());
			jContentPane.add(getJButton1());
			jContentPane.add(getJButton2());
			jContentPane.add(getIP());
		}
		return jContentPane;
	}

	/**
	 * 设置登录IP
	 */
	public JLabel getIP()
	{
		if(IP == null)
		{
		IP = new JLabel();
		IP.setBounds(134, 150, 73, 18);
		try
		{
			IP.setText(getLocalHost().getHostAddress());
		} catch (UnknownHostException e)
		{
			e.printStackTrace();
		}
		IP.setVisible(false);
		}
		return IP;
	}
	
	/**
	 * 此方法初始化 jTextField
	 */
	public JTextField getJTextField()
	{
		if (ID == null)
		{
			ID = new JTextField();
			ID.setBorder(new LineBorder(Color.black, 1, false));
			ID.setBounds(new Rectangle(112, 30, 150, 21));
		}
		return ID;
	}

	/**
	 * 此方法初始化jTextField1
	 */
	public JPasswordField getJPasswordField()
	{
		if (PasswordField == null)
		{
			PasswordField = new JPasswordField();
			PasswordField.setBorder(new LineBorder(Color.black, 1, false));
			PasswordField.setBounds(new Rectangle(112, 69, 150, 21));
		}
		return PasswordField;
	}

	/**
	 * 此方法初始化jButton
	 */
	private JButton getJButton()
	{
		if (login == null)
		{
			login = new JButton();
			login.setBounds(new Rectangle(36, 120, 60, 24));
			login.setText("登录");
		}
		return login;
	}

	/**
	 * 此方法初始化jButton1
	 */
	private JButton getJButton1()
	{
		if (quit == null)
		{
			quit = new JButton();
			quit.setBounds(new Rectangle(129, 120, 60, 24));
			quit.setText("取消");
		}
		return quit;
	}

	/**
	 * 此方法初始化jButton2
	 */
	public JButton getJButton2()
	{
		if (regedit == null)
		{
			regedit = new JButton();
			regedit.setBounds(new Rectangle(220, 120, 60, 24));
			regedit.setText("注册");
		}
		return regedit;
	}

	/**
	 * 实现actionListener接口所需实现的方法
	 */
	@SuppressWarnings("deprecation")
	public void actionPerformed(ActionEvent e)
	{// jButtonjButton1jButton2事件处理
		/**
		 * 按注册按钮后弹出用户注册界面
		 */
		if (e.getSource() == regedit)
		{
			Client.userRegUI = new UserRegUI();//
			Client.userRegUI.getJFrame();
		}
		/**
		 * 按登录按钮后,执行Client的login()方法
		 */
		if (e.getSource() == login)
		{
			Client.client.login(this.getJTextField().getText(), 
					this.getJPasswordField().getText(),this.IP.getText());
		}
		/**
		 * 按取消按钮后,隐藏用户登录界面
		 */
		if (e.getSource() == quit)
		{
			jFrame.setVisible(false);
		}
	}
}

⌨️ 快捷键说明

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