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 + -
显示快捷键?