⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 登录界面.java

📁 我用JAVA写的QQ程序
💻 JAVA
字号:
/*
 * 登录界面.java
 *
 * Created on 2007年5月1日, 下午6:48
 */

package 客户端程序包;


import java.io.*;
import java.net.*;
import java.util.StringTokenizer;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
/**
 *
 * @author  王绿春   8000104023  南昌大学软件学院045班
 */
public class 登录界面 extends javax.swing.JFrame {
    
    /** Creates new form 登录界面 */
    public 登录界面(Socket client_soke) {
        initComponents();
        this.Client_Socket=client_soke;
        this.setBounds(450,220,325,242);
        ImageIcon image=new ImageIcon("picture/qq.gif");
        Picture.setIcon(image);
        
        
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents
    private void initComponents() {
        登录框面板 = new javax.swing.JPanel();
        QQ号码 = new javax.swing.JLabel();
        密码 = new javax.swing.JLabel();
        QQ号码输入框 = new javax.swing.JTextField();
        申请号码 = new javax.swing.JButton();
        取消 = new javax.swing.JButton();
        自动登录 = new javax.swing.JCheckBox();
        隐身登录 = new javax.swing.JCheckBox();
        密码输入框 = new javax.swing.JPasswordField();
        登录 = new javax.swing.JButton();
        消息框 = new javax.swing.JLabel();
        Picture = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("QQ\u7528\u6237\u767b\u5f55");
        setBackground(new java.awt.Color(102, 102, 255));
        setForeground(new java.awt.Color(102, 102, 255));
        setName("\u767b\u5f55\u6846");
        setResizable(false);
        登录框面板.setBackground(new java.awt.Color(102, 102, 255));
        QQ号码.setText("QQ\u53f7\u7801\uff1a");

        密码.setText("QQ\u5bc6\u7801\uff1a");

        申请号码.setText("\u7533\u8bf7\u53f7\u7801");
        申请号码.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                申请号码MouseClicked(evt);
            }
        });

        取消.setText("\u53d6\u6d88");
        取消.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                取消MouseClicked(evt);
            }
        });

        自动登录.setBackground(new java.awt.Color(255, 255, 255));
        自动登录.setText("\u81ea\u52a8\u767b\u5f55");
        自动登录.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        自动登录.setMargin(new java.awt.Insets(0, 0, 0, 0));

        隐身登录.setBackground(new java.awt.Color(255, 255, 255));
        隐身登录.setText("\u9690\u8eab\u767b\u5f55");
        隐身登录.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        隐身登录.setMargin(new java.awt.Insets(0, 0, 0, 0));

        登录.setText("\u767b\u5f55");
        登录.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                登录ActionPerformed(evt);
            }
        });
        登录.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                登录MouseClicked(evt);
            }
        });

        Picture.setFont(new java.awt.Font("宋体", 1, 36));
        Picture.setForeground(new java.awt.Color(0, 204, 0));
        Picture.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

        org.jdesktop.layout.GroupLayout 登录框面板Layout = new org.jdesktop.layout.GroupLayout(登录框面板);
        登录框面板.setLayout(登录框面板Layout);
        登录框面板Layout.setHorizontalGroup(
            登录框面板Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(登录框面板Layout.createSequentialGroup()
                .addContainerGap()
                .add(登录框面板Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(登录框面板Layout.createSequentialGroup()
                        .add(登录框面板Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(密码)
                            .add(QQ号码))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(登录框面板Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                            .add(org.jdesktop.layout.GroupLayout.LEADING, 登录框面板Layout.createSequentialGroup()
                                .add(登录框面板Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
                                    .add(org.jdesktop.layout.GroupLayout.LEADING, 登录, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .add(org.jdesktop.layout.GroupLayout.LEADING, 自动登录, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(登录框面板Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                                    .add(取消, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .add(隐身登录, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                .add(11, 11, 11))
                            .add(org.jdesktop.layout.GroupLayout.LEADING, 登录框面板Layout.createSequentialGroup()
                                .add(登录框面板Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
                                    .add(org.jdesktop.layout.GroupLayout.LEADING, 密码输入框)
                                    .add(org.jdesktop.layout.GroupLayout.LEADING, QQ号码输入框, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 136, Short.MAX_VALUE))
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(申请号码, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 81, Short.MAX_VALUE))))
                    .add(org.jdesktop.layout.GroupLayout.TRAILING, 消息框, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 213, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(19, 19, 19))
            .add(Picture, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 295, Short.MAX_VALUE)
        );
        登录框面板Layout.setVerticalGroup(
            登录框面板Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(登录框面板Layout.createSequentialGroup()
                .add(Picture, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(23, 23, 23)
                .add(登录框面板Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(QQ号码)
                    .add(QQ号码输入框, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 22, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(申请号码))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .add(登录框面板Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(密码)
                    .add(密码输入框, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(15, 15, 15)
                .add(登录框面板Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(自动登录)
                    .add(隐身登录))
                .add(15, 15, 15)
                .add(登录框面板Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(登录)
                    .add(取消))
                .add(19, 19, 19)
                .add(消息框)
                .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(登录框面板, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 295, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(登录框面板, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 205, Short.MAX_VALUE)
        );
        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void 申请号码MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_申请号码MouseClicked
        申请界面 Apply=new 申请界面(Client_Socket);
        Apply.setVisible(true);
        new Thread(Apply).start();
    }//GEN-LAST:event_申请号码MouseClicked

    private void 登录MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_登录MouseClicked
// TODO 将在此处添加您的处理代码:
        
        QQNumber=QQ号码输入框.getText();
        
        QQPassword=new String(密码输入框.getPassword());
        
        if(隐身登录.isSelected()){
            IsHideRegister="1";                       //1表示隐身登录
            System.out.println(IsHideRegister);
        }
        else{
            IsHideRegister="0";
            System.out.println("zhuantai"+IsHideRegister);
        }
        if(QQNumber.length()!=9){
            JOptionPane.showMessageDialog(null,"QQ号码必须为9位数字!","错误!",JOptionPane.WARNING_MESSAGE);
            return;
        }
        RegisterMessage="0"+IsHideRegister+QQNumber+QQPassword;
        消息框.setText("正在连接服务器......");
        SendAndReceive Send=new SendAndReceive(Client_Socket,RegisterMessage);
        Send.SendMessage();
        SendAndReceive Receive=new SendAndReceive(Client_Socket);
        String CheckMessage=Receive.ReceiveMessage();
        if(CheckMessage.startsWith("E")){
               JOptionPane.showMessageDialog(null,"该用户已经登录!","错误!",JOptionPane.WARNING_MESSAGE);   
        }
        else if(CheckMessage.startsWith("N")){
            JOptionPane.showMessageDialog(null,"不存在该用户!","错误!",JOptionPane.WARNING_MESSAGE);
        }
        else if(CheckMessage.startsWith("P")){
            JOptionPane.showMessageDialog(null,"密码错误!","错误!",JOptionPane.WARNING_MESSAGE);
        }
        else if(CheckMessage.startsWith("K")){
                 
                 System.out.println(CheckMessage);
                 Information=CheckMessage.substring(1);
                 IsSuccessfull=true;
                 System.out.println("成功注册");
                 
                
            
             }
       
        if(this.GetState()){
                 this.setVisible(false);
                 //System.out.print("列表"+this.GetList());
                 System.out.println("登录界面的SOCKET:"+Client_Socket);
                 好友界面 FriendFrame= new 好友界面(Client_Socket,this.GetQQNumber(),Information,IsHideRegister,QQPassword);
                 FriendFrame.setVisible(true);
                 new Thread(FriendFrame).start();
                 this.dispose();
                             
        }
        
    }//GEN-LAST:event_登录MouseClicked

    private void 登录ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_登录ActionPerformed
// TODO 将在此处添加您的处理代码:
    }//GEN-LAST:event_登录ActionPerformed

    private void 取消MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_取消MouseClicked
// TODO 将在此处添加您的处理代码:
         this.dispose();
    }//GEN-LAST:event_取消MouseClicked

public String GetQQNumber(){
    return this.QQNumber;
}
public boolean GetState(){
    return this.IsSuccessfull;
}


    
    /**
     * @param args the command line arguments
     */
public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                  
                  String HostIP="127.0.0.1";
              try{
                      Socket ClientSocket=new Socket(HostIP,6666);
                      登录界面 RegisterFrame=new 登录界面(ClientSocket);
                      RegisterFrame.setVisible(true);
                      System.out.println("通过!");
             }catch( IOException e){
                     JOptionPane.showMessageDialog(null,"连接服务器失败!","错误!",JOptionPane.WARNING_MESSAGE);
                     System.out.println("连接服务器失败!");
             } 
                 
                  
                  
              
         }//run()
                  
        });
        
}
    
    // 变量声明 - 不进行修改//GEN-BEGIN:variables
    private javax.swing.JLabel Picture;
    private javax.swing.JLabel QQ号码;
    private javax.swing.JTextField QQ号码输入框;
    private javax.swing.JButton 取消;
    private javax.swing.JLabel 密码;
    private javax.swing.JPasswordField 密码输入框;
    private javax.swing.JLabel 消息框;
    private javax.swing.JButton 申请号码;
    private javax.swing.JButton 登录;
    private javax.swing.JPanel 登录框面板;
    private javax.swing.JCheckBox 自动登录;
    private javax.swing.JCheckBox 隐身登录;
    // 变量声明结束//GEN-END:variables
    private String QQNumber=null;
    private String QQPassword=null;
    //private boolean IsAutoRegister=false;
    private boolean IsSuccessfull=false;
    private String IsHideRegister=null;
    private Socket Client_Socket=null;
    //private String HostIP="192.168.250.18";
    private String RegisterMessage=null;
    //private PrintWriter ClientOut=null;
    //private BufferedReader ClientIn=null;
    private  String Information=null;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -