📄 login.java
字号:
package jclass;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Login extends JFrame {
private JTextField textField_1;
private JTextField textField;
private JLabel label;
private JButton confirm;
private JButton exit;
private JLabel label_1;
/**
* Launch the application
* @param args
*/
public static void main(String args[]) throws Exception {
//创建一个登陆窗口的实例
Login log=new Login();
}
/**
* Create the frame
*/
//初始化成员变量,设置窗体属性
private void init()
{
//设置窗体的属性
//清除窗体的布局管理器
getContentPane().setLayout(null);
setBounds(100, 100, 324, 227);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
//获取屏幕大小,并设置窗体在屏幕中央显示
Dimension screen=
Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screen.width-getWidth())/2,(screen.height-getHeight())/2);
//设置窗体可见
setVisible(true);
//在窗体上添加一个标签,提示用户输入用户名
label = new JLabel();
label.setFont(new Font("", Font.BOLD, 16));
label.setText("请输入用户名:");
label.setBounds(9, 30, 119, 38);
getContentPane().add(label);
//在窗体上添加一个单行文本输入框,用以接受用户输入的用户名
textField = new JTextField();
textField.setBounds(130, 31, 155, 38);
getContentPane().add(textField);
JLabel label_1 = new JLabel();
label_1.setFont(new Font("", Font.BOLD, 16));
label_1.setText("服务器地址:");
label_1.setBounds(14, 88, 102, 28);
getContentPane().add(label_1);
textField_1 = new JTextField();
textField_1.setText("不填表示本地");
textField_1.setBounds(130, 86, 155, 37);
getContentPane().add(textField_1);
//创建一个"确定"按钮
confirm = new JButton();
confirm.setActionCommand("comfirm");
confirm.setText("确定");
confirm.setBounds(40, 140, 88, 28);
getContentPane().add(confirm);
//在窗体上添加一个“退出”按钮
exit = new JButton();
exit.setActionCommand("exit");
exit.setText("退出");
exit.setBounds(176, 140, 88, 28);
getContentPane().add(exit);
}
//为成员变量添加事件监听器
private void addListeners()
{
confirm.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
if(textField.getText().equals("")||textField.getText().equals("请输入用户名:"))
//当用户名没有输入或不正确时,提示用户输入用户名
textField.setText("请输入用户名:");
else
{
//建立一个对话界面,进行用户间的交流
//首先创建连到服务器的socket,并把它通过
//构造方法传给对话界面
Socket socket=null;
try {
if(textField_1.getText().equals("不填表示本地")
||textField_1.getText().equals(""))
socket = new Socket("127.0.0.1",8080);
else
socket = new Socket(textField_1.getText(),8080);
} catch (UnknownHostException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
new ChatInterface(textField.getText(),socket).setVisible(true);
//隐藏本窗口,剩余的操作交由对话界面处理
setVisible(false);
}
}
});
exit.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
//用户按下这个按钮时,退出程序。
System.exit(0);
}
});
}
public Login() {
super();
init();
addListeners();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -