qqmainframe.java.svn-base
上传用户:hongdaled
上传日期:2007-10-03
资源大小:680k
文件大小:4k
源码类别:

ICQ/即时通讯

开发平台:

Java

  1. package client;
  2. import java.awt.BorderLayout;
  3. import java.awt.Choice;
  4. import java.awt.Color;
  5. import java.awt.Component;
  6. import java.awt.Container;
  7. import java.awt.Frame;
  8. import java.awt.Graphics;
  9. import java.awt.Panel;
  10. import java.awt.event.ItemListener;
  11. import java.io.FileOutputStream;
  12. import java.io.IOException;
  13. import java.io.ObjectInputStream;
  14. import java.io.ObjectOutputStream;
  15. import java.net.Socket;
  16. import java.util.ArrayList;
  17. import java.util.HashMap;
  18. import java.util.HashSet;
  19. import javax.swing.DefaultListModel;
  20. import javax.swing.JButton;
  21. import javax.swing.JFrame;
  22. import javax.swing.JLabel;
  23. import javax.swing.JList;
  24. import javax.swing.JPanel;
  25. import javax.swing.JScrollPane;
  26. public class qqmainframe {
  27.       JFrame f=new JFrame();
  28.      JList jl=new JList();
  29.       Panel sp=new Panel();
  30.       HashMap set = new HashMap();
  31.       ObjectOutputStream oos;
  32.       ObjectInputStream ois;
  33.       JPanel p=new JPanel();
  34.       JPanel jp2=new JPanel();
  35.       JPanel jp3=new JPanel();
  36.       Choice cc=new Choice();
  37.       JButton jb=new JButton("群发");
  38.       JButton jb1=new JButton("退出");
  39.       JButton jb2=new JButton("退出");
  40.       JScrollPane p1;
  41.       Container c;
  42.        public qqmainframe(String s,int b) throws IOException {
  43.        
  44.         cc.add("我在线上");
  45.         cc.add("隐身的我");
  46.         cc.add("离线的我");
  47.        p.setSize(90, 350);
  48.       p1=new JScrollPane(jl);
  49.       p.add(jl);
  50.       c=f.getContentPane();
  51.      // c.add(p);
  52.     
  53.         jp2.add(cc);
  54.      
  55.         jp3.add(jb);
  56.         jp3.add(jb);
  57.         jp3.add(jb1);
  58.           jl.setBackground(Color.blue);
  59.           jl.setSize(90,450);
  60.          f.setSize(110,500);
  61.          f.setVisible(true);
  62.          f.add(jp2,BorderLayout.NORTH);
  63.        f.add(p,BorderLayout.CENTER);
  64.        f.add(jp3,BorderLayout.SOUTH);
  65.      
  66.         
  67.         f.setSize(100,400);
  68.         f.setVisible(true);
  69.         Socket s1 = new Socket(s,b);
  70.        oos=new ObjectOutputStream(s1.getOutputStream());
  71.      ois =new ObjectInputStream(s1.getInputStream());
  72.      System.out.println(ois);
  73.         sp.add(jl);
  74.         Thread t=new yonghuThread();
  75.         t.start();
  76.       
  77.     
  78.     
  79.          
  80.        }
  81.        class yonghuThread extends Thread{
  82.     public void run(){
  83.     try {
  84.     while(true){
  85.    
  86.     Object oo=ois.readObject();
  87.     while(oo!=null){
  88.     set=(HashMap)oo;
  89.     }
  90.     Object[] arr=set.keySet().toArray();
  91.         
  92.    
  93.        if(0 == jl.getModel().getSize())
  94.         {
  95.            
  96.             DefaultListModel listModel = new DefaultListModel();
  97.             //操作这个集合
  98.          listModel.add(0,arr[0].toString());
  99.             //将这个集合添加到JList中
  100.            jl.setModel(listModel);
  101.         }
  102.         //JList的项不为空时
  103.         else
  104.         {
  105.          for(int i = 1; i < set.size(); i++){
  106.             //从JList中获得这个集合,转换为默认项集合类型
  107.             DefaultListModel listModel= (DefaultListModel) jl.getModel();
  108.             //追加元素
  109.             listModel.add(listModel.getSize(),arr[i].toString());
  110.             //将这个集合添加到JList中
  111.             jl.setModel(listModel);
  112.         }
  113.     }
  114.    
  115.    
  116.    
  117.     f.repaint();
  118.     }
  119.    
  120.     }  catch (IOException e) {
  121. // TODO Auto-generated catch block
  122. e.printStackTrace();
  123. } catch (ClassNotFoundException e) {
  124. // TODO Auto-generated catch block
  125. e.printStackTrace();
  126. }
  127.     }
  128.     }
  129.      
  130.       
  131.   public static void main(String s){
  132.   }
  133. }