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

📄 建群.java

📁 我用JAVA写的QQ程序
💻 JAVA
字号:
/*
 * 建群.java
 *
 * Created on 2007年5月20日, 下午11:54
 */

package 客户端程序包;

import java.net.Socket;
import java.util.StringTokenizer;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

/**
 *
 * @author  张金凤   软件046班  8000104219
 */
public class 建群 extends javax.swing.JFrame {
    
    /** Creates new form 建群 */
    public 建群(Socket soc,String QQNum) {
        initComponents();
        this.setDefaultCloseOperation(this.DISPOSE_ON_CLOSE);
        this.setBounds(470,140,430,440);
        socket=soc;
        QQNumber=QQNum;
        LabelArray=new JLabel[10];
        Array=new String[30];
        Member=new String[30];
        MemberForView=new String[30];
        SelectMember=new String[30];
        for(int i=0;i<10;i++){
            String Index=Integer.toString(i);
            LabelArray[i]=new JLabel(Index,new ImageIcon("picture/"+Index+".gif"),JLabel.LEFT);
        }
        头像.setModel(new DefaultComboBoxModel(LabelArray));
        头像.setRenderer(new MyListCellRenderer());
        
        try{
              
              StringTokenizer St=new StringTokenizer(好友界面.Friend,"#");
              int i=0;
              while(St.hasMoreTokens()){
                  String s=St.nextToken();
                  Array[i]=s.substring(1);
                  Member[i]=s;
                  LengthA++;
                  i++;
              }
              在线好友.setListData(Array);
              
          }catch(NullPointerException e){
            
          }
        删除.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                删除MouseClicked(evt);
            }
        });
        确定.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                确定MouseClicked(evt);
            }
        });
    }
    
    /** 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() {
        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        确定 = new javax.swing.JButton();
        群号 = new javax.swing.JTextField();
        jScrollPane1 = new javax.swing.JScrollPane();
        群里好友 = new javax.swing.JList();
        jScrollPane2 = new javax.swing.JScrollPane();
        在线好友 = new javax.swing.JList();
        取消 = new javax.swing.JButton();
        增加 = new javax.swing.JButton();
        删除 = new javax.swing.JButton();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        头像 = new javax.swing.JComboBox();
        jLabel6 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("\u7fa4");
        jLabel1.setFont(new java.awt.Font("宋体", 0, 24));
        jLabel1.setText("\u7fa4");

        jLabel2.setText("\u7fa4\u53f7\uff1a");

        确定.setText("\u786e\u5b9a");

        jScrollPane1.setViewportView(群里好友);

        jScrollPane2.setViewportView(在线好友);

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

        增加.setText("\u589e\u52a0");
        增加.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                增加MouseClicked(evt);
            }
        });

        删除.setText("\u5220\u9664");

        jLabel3.setText("\u52a0\u5165\u7fa4\u91cc\u7684\u597d\u53cb\uff1a");

        jLabel4.setText("\u5728\u7ebf\u597d\u53cb\uff1a");

        jLabel5.setText("\u6ce8\u610f\uff1a\u7fa4\u53f7\u5fc5\u987b\u4e3a4\u4f4d");

        jLabel6.setText("\u5934\u50cf\uff1a");

        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()
                .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel1Layout.createSequentialGroup()
                        .add(179, 179, 179)
                        .add(jLabel1))
                    .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel1Layout.createSequentialGroup()
                        .add(35, 35, 35)
                        .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(org.jdesktop.layout.GroupLayout.TRAILING, jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 325, Short.MAX_VALUE)
                            .add(jPanel1Layout.createSequentialGroup()
                                .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                                    .add(jPanel1Layout.createSequentialGroup()
                                        .add(jLabel2)
                                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                        .add(群号, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 102, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                                    .add(jLabel5))
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 70, Short.MAX_VALUE)
                                .add(jLabel6)
                                .add(16, 16, 16)
                                .add(头像, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 61, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                            .add(jPanel1Layout.createSequentialGroup()
                                .add(确定, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 85, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 157, Short.MAX_VALUE)
                                .add(取消, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 83, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                            .add(jLabel4)
                            .add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 325, Short.MAX_VALUE)
                            .add(jLabel3))))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(删除)
                    .add(增加))
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(jPanel1Layout.createSequentialGroup()
                        .add(jLabel1)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(jLabel2)
                            .add(群号, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(头像, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(jLabel6))
                        .add(14, 14, 14)
                        .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(jPanel1Layout.createSequentialGroup()
                                .add(25, 25, 25)
                                .add(增加)
                                .add(23, 23, 23)
                                .add(删除))
                            .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel1Layout.createSequentialGroup()
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(jLabel3)
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 98, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(jLabel4)
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(jScrollPane2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 99, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 27, Short.MAX_VALUE)
                                .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                                    .add(确定)
                                    .add(取消))
                                .add(14, 14, 14)))
                        .addContainerGap())
                    .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel1Layout.createSequentialGroup()
                        .add(jLabel5)
                        .add(315, 315, 315))))
        );

        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void 增加MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_增加MouseClicked
// TODO 将在此处添加您的处理代码:
        IsClicked=true;
        int k= 在线好友.getSelectedIndex();
        boolean Isonthelist=true;
        String s=(String)在线好友.getModel().getElementAt(k);
        for(int i=0;i<Length;i++){
            if(MemberForView[i].equals(s)){
                Isonthelist=false;
            }
        }
        if(!s.equals(null)&&Isonthelist){
             this.群里好友.setEnabled(true);
             MemberForView[Length]=s;
             Length++;
        }
        群里好友.setListData(MemberForView);
    }//GEN-LAST:event_增加MouseClicked

    private void 取消MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_取消MouseClicked
// TODO 将在此处添加您的处理代码:
        this.dispose();
    }//GEN-LAST:event_取消MouseClicked
 
     private void 删除MouseClicked(java.awt.event.MouseEvent evt) { 
        int k= 群里好友.getSelectedIndex();
        IsClicked=true;
        for(int j=k;j<Length;j++){
            MemberForView[j]=null;
            
            MemberForView[j]=MemberForView[j+1];
            
        }
        Length--;
        
        this.群里好友.setListData(MemberForView);
        if(Length==0){
            this.群里好友.setEnabled(false);
        }
     }
     private void 确定MouseClicked(java.awt.event.MouseEvent evt) { 
         if(IsClicked){
             String GroupMember="@";
             String Icon=null;
             JLabel lab=(JLabel)头像.getSelectedItem();
             Icon=lab.getText();
             String GroupNumber=群号.getText();
             
             if(GroupNumber.length()!=4){
                 JOptionPane.showMessageDialog(null,"群号必须为四位数!","错误!",JOptionPane.WARNING_MESSAGE);
                 return;
             }
             int k=0;
             for(int i=0;i<Length;i++){
                 for(int j=0;j<LengthA;j++){
                     if(MemberForView[i].equals(Member[j].substring(1))){
                         SelectMember[k]=Member[j];
                         k++;
                     }
                 }
             }
             for(int i=0;i<Length;i++){
                 GroupMember=GroupMember+SelectMember[i]+"#";
             }
             
             new SendAndReceive(socket,"NewGroup"+GroupNumber+Icon+GroupMember).SendMessage();
         }
         this.dispose();
     }
    /**
     * @param args the command line arguments
     */
   
    
    // 变量声明 - 不进行修改                     
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JButton 删除;
    private javax.swing.JButton 取消;
    private javax.swing.JList 在线好友;
    private javax.swing.JButton 增加;
    private javax.swing.JComboBox 头像;
    private javax.swing.JButton 确定;
    private javax.swing.JTextField 群号;
    private javax.swing.JList 群里好友;
    // 变量声结束
    private Socket socket=null;
    private String QQNumber=null;
    private JLabel [] LabelArray=null;
    private String Array[]=null;
    private String Member[]=null;
    private String MemberForView[]=null;
    private int Length=0;
    private boolean IsClicked=false;
    private String SelectMember[]=null;
    private int  LengthA=0;
}

⌨️ 快捷键说明

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