📄 login.java
字号:
package client;
import java.net.*;
import java.io.*;
import javax.swing.*;
public class Login extends javax.swing.JFrame implements Runnable{
private BufferedReader in;
private PrintWriter out;
private boolean shutdown=false;
private Socket socket;
public Login(Socket socket_) {
initComponents();
this.setLocation(450,180);
try{
socket=socket_;
in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
out=new PrintWriter(socket.getOutputStream(),true);
}
catch(Exception e)
{
System.out.println("ClientLogin initial"+e.toString());
}
Thread t=new Thread(this);
t.start();
}
////////////////////////////////////////////////////////////////////////////
//客户端登陆程序主体
public void run()
{
try
{
while(!shutdown)
{
String str=in.readLine();
if(str.equals("login/success"))
{
JOptionPane.showMessageDialog(this,"用户: "+jTextField_Name.getText()+" 登陆成功");
Hall framehall=new Hall(jTextField_Name.getText(),socket,in,out);
framehall.setVisible(true);
Thread t=new Thread(framehall);
t.start();
in=null;
out=null;
socket=null;
shutdown=true;
}
if(str.equals("login/failure"))
{
jTextField_Name.setText("");
jPasswordField.setText("");
JOptionPane.showMessageDialog(this,"帐号和密码不对");
}
if(str.equals("login/already"))
{
jTextField_Name.setText("");
jPasswordField.setText("");
JOptionPane.showMessageDialog(this,"该用户已经登陆,请重新输入其他帐号和密码");
}
if(str.equals("login cancel/success"))
{
shutdown=true;
in.close();
out.close();
socket.close();
}
if(str.equals("login/register"))
{
new Register(in,out,socket).setVisible(true);
in=null;
out=null;
try{
socket=null;
}
catch(Exception e)
{
System.out.println("socket null"+e.toString());
}
shutdown=true;
this.setVisible(false);
}
}
}
catch(Exception e)
{
System.out.println("Login run"+e.toString());
}
this.dispose();
}
// <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jButton_Login = new javax.swing.JButton();
jButton_Register = new javax.swing.JButton();
jButton_Canel = new javax.swing.JButton();
jLabel2 = new javax.swing.JLabel();
jPasswordField = new javax.swing.JPasswordField();
jLabel1 = new javax.swing.JLabel();
jTextField_Name = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("\u671d\u9633\u793e\u533a\u767b\u9646");
jPanel1.setBackground(new java.awt.Color(204, 204, 204));
jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
jButton_Login.setText("\u767b\u9646");
jButton_Login.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jButton_LoginMouseClicked(evt);
}
});
jButton_Register.setText("\u6ce8\u518c");
jButton_Register.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jButton_RegisterMouseClicked(evt);
}
});
jButton_Canel.setText("\u9000\u51fa");
jButton_Canel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jButton_CanelMouseClicked(evt);
}
});
jLabel2.setText("\u5bc6 \u7801\uff1a");
jLabel2.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
jPasswordField.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
jPasswordFieldKeyPressed(evt);
}
});
jLabel1.setText("\u7528\u6237\u540d\uff1a");
jLabel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jLabel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 55, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jLabel1)
.add(jButton_Login))
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
.add(org.jdesktop.layout.GroupLayout.LEADING, jPanel1Layout.createSequentialGroup()
.add(38, 38, 38)
.add(jButton_Register)
.add(32, 32, 32)
.add(jButton_Canel))
.add(org.jdesktop.layout.GroupLayout.LEADING, jPanel1Layout.createSequentialGroup()
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jTextField_Name, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 178, Short.MAX_VALUE)
.add(jPasswordField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 178, Short.MAX_VALUE))))
.add(34, 34, 34))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel1Layout.createSequentialGroup()
.add(33, 33, 33)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabel1)
.add(jTextField_Name, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(41, 41, 41)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabel2)
.add(jPasswordField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(34, 34, 34)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton_Login)
.add(jButton_Register)
.add(jButton_Canel))
.addContainerGap())
);
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 189, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void jPasswordFieldKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jPasswordFieldKeyPressed
// TODO 将在此处添加您的处理代码:
int key=evt.getKeyCode();
String account=jTextField_Name.getText();
String code=jPasswordField.getText();
if(key==evt.VK_ENTER)
{
if((!account.equals(""))&&(!code.equals("")))
{
out.println("login/"+account+"/"+code);
out.flush();
}
else
{
JOptionPane.showMessageDialog(this,"输入错误");
}
}
}//GEN-LAST:event_jPasswordFieldKeyPressed
private void jButton_RegisterMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton_RegisterMouseClicked
out.println("login/register");
out.flush();
}//GEN-LAST:event_jButton_RegisterMouseClicked
private void jButton_CanelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton_CanelMouseClicked
out.println("login/cancel");
out.flush();
}//GEN-LAST:event_jButton_CanelMouseClicked
private void jButton_LoginMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton_LoginMouseClicked
String account=jTextField_Name.getText();
String code=jPasswordField.getText();
if((!account.equals(""))&&(!code.equals("")))
{
out.println("login/"+account+"/"+code);
out.flush();
}
else
{
JOptionPane.showMessageDialog(this,"输入错误");
}
}//GEN-LAST:event_jButton_LoginMouseClicked
// 变量声明 - 不进行修改//GEN-BEGIN:variables
private javax.swing.JButton jButton_Canel;
private javax.swing.JButton jButton_Login;
private javax.swing.JButton jButton_Register;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
private javax.swing.JPasswordField jPasswordField;
private javax.swing.JTextField jTextField_Name;
// 变量声明结束//GEN-END:variables
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -