📄 loginui.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 + -