login.java
来自「拼图功能完备 有趣好玩 能帮助初学者更好的掌握JAVA」· Java 代码 · 共 80 行
JAVA
80 行
package talk;
/**
* 程序主要有三个窗口:服务器的聊天室的主窗口,客户端的登录窗口和聊天主窗口。
* 在服务器端的聊天主窗口启动起来之后,即开始等待客户端的连接请求,
* 在进入客户端主窗口之前需要首先进入登录窗口,在该窗口中用户可以录入待登录的服务器地址,
* 以及客户端聊天用户的昵称,单击Login按钮之后,通信双方连接正常即可正常建立,
* 聊天双方可以开始一对一的对话。
*
* 在Java中提供了ServerSocket及Socket类建立程序之间的通信,正种连接是C\S结构的连接方式。
* 本程序中将接受对方信息的处理过程单独放在了一个线程中,为了实现代码的共享,
* 借助与构造方法进行了相关参数的传递。
*/
/**
* 该程序实现了聊天客户端登录用户界面。
*/
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Login extends JFrame implements ActionListener {
JFrame jf = new JFrame("login");
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JLabel l1 = new JLabel("请输入您的昵称:");
JLabel l2 = new JLabel("请设置服务器地址:");
JTextField t1 = new JTextField();
JTextField t2 = new JTextField("127.0.0.1");
JButton loginButton = new JButton("Login");
// 构造客户端登录用户界面。
public Login() {
p1.setLayout(new GridLayout(2, 2));
p1.add(l1);
p1.add(t1);
p1.add(l2);
p1.add(t2);
p2.setLayout(new FlowLayout());
p2.add(loginButton);
jf.getContentPane().add(p1, "North");
jf.getContentPane().add(p2);
jf.pack();
jf.setLocation(300, 200);
jf.setVisible(true);
t1.addActionListener(this);
t2.addActionListener(this);
loginButton.addActionListener(this);
}
// 接受登录请求的事件处理的方法。
public void actionPerformed(ActionEvent e) {
if (!t1.getText().equals("") && !t2.getText().equals("")) {
TestClient c = new TestClient(t1.getText(), t2.getText()); // 启动客户端聊天主窗口
jf.setVisible(false);
}
}
public static void main(String[] args) {
Login aa = new Login();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?