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

📄 clientgui.java

📁 一个采用Java Socket编程实现的QQ软件
💻 JAVA
字号:
package client;


import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Vector;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;

public class clientGUI extends JFrame implements ActionListener {
    JPanel panel1, panel2,panel4,panel31,panel32,panel33,panel34;
    MyTree mytree;
    JPanel panel41,panel42,panel43,panel44;
    JApplet applet1, applet2;
    JLabel label1, label2, label3,button43;
    JList   list1,list2,list3,list4;
    JButton button2,button3,button4,button5,button41,button42;
    JTextField textfield;
    JButton lableioc1;
    JLabel lableioc2,lable41,lable42,lable43;
    private  Groupmessage group = null;
    public  udptalks udptalk;    
    public  Client client;
    private String localname;
    private Map<String,Object> talkingfreinds;
    public clientGUI( Client client,udptalks udptalk,String localname){
        super(localname+"个人空间");
        this.udptalk = udptalk;
        this.client = client;
        this.localname = localname;
        panel1 = new JPanel();
        talkingfreinds = new HashMap<String,Object>();
        //panel1.setBackground(new Color(240,50,240));
        panel1.setLayout(new BorderLayout());
        lableioc1 = new JButton(new ImageIcon("boy.gif"));
        lableioc2 = new JLabel(new ImageIcon("default_av_girl.gif"));
        lableioc1.setPreferredSize(new Dimension(50,45));
        lableioc2.setPreferredSize(new Dimension(300,45));
        panel1.add(lableioc1,"West");
        panel1.add(lableioc2,"Center");
        
        panel2 = new JPanel();
        //panel2.setBackground(new Color(180,240,30));
        button2 = new JButton(new ImageIcon("Default.gif"));        
        button3 = new JButton(new ImageIcon("wn_eclcommunity48_hov.gif"));
        button4 = new JButton(new ImageIcon("tu_merge48.gif"));
        button5 = new JButton(new ImageIcon("e_stop.gif"));
        panel31 = new JPanel();
        panel32 = new JPanel();
        panel33 = new JPanel();
        panel34 = new JPanel();
        panel31.add(button2);
        panel32.add(button3);
        panel33.add(button4);
        panel34.add(button5);
        panel31.setBorder(BorderFactory.createTitledBorder("娱乐空间"));        
        panel32.setBorder(BorderFactory.createTitledBorder("加入群组"));
        panel33.setBorder(BorderFactory.createTitledBorder("搜索好友"));
        panel34.setBorder(BorderFactory.createTitledBorder("注销系统"));
        button2.setPreferredSize(new Dimension(40,40));
        button3.setPreferredSize(new Dimension(40,40));
        button4.setPreferredSize(new Dimension(40,40));
        button5.setPreferredSize(new Dimension(40,40));
        button2.addActionListener(this);           
        button3.addActionListener(this);
        button4.addActionListener(this);
        button5.addActionListener(this);
        panel2.setLayout(new GridLayout(5,1));
        panel2.add(panel31);
        panel2.add(panel32);
        panel2.add(panel33);
        panel2.add(panel34);
                
        mytree = new MyTree(client,this,udptalk);        
        panel4 = new JPanel();
        panel41 = new JPanel();	
        panel42 = new JPanel();
        panel43 = new JPanel();
        panel44 = new JPanel();
        textfield = new JTextField(10);
        button42 = new JButton("添加");
        button43 = new JLabel("");
        lable41 = new JLabel(new ImageIcon("Default.gif"));
        lable42 = new JLabel("好友名:");
        lable43 = new JLabel();
        lable41.setPreferredSize(new Dimension (45, 20));
        lable42.setPreferredSize(new Dimension (50, 28));
        lable43.setPreferredSize(new Dimension (18, 20));
        textfield.setPreferredSize(new Dimension(60,25));	
        button42.setPreferredSize(new Dimension(60,25));
        button43.setPreferredSize(new Dimension(60,25));
        panel42.add(lable42);
        panel42.add(textfield);
        panel43.add(button42);
        panel43.add(lable43);
        panel43.add(button43);
        panel44.setLayout(new GridLayout(2,1));
        panel44.add(panel42);
        panel44.add(panel43);
        panel4.setLayout(new BorderLayout());
        panel4.add(lable41,"West");
        panel4.add(panel44,"Center");       
        applet1 = new JApplet();
        applet2 = new JApplet();        
        label1 = new JLabel();
        label2 = new JLabel();
        label3 = new JLabel();        
        panel1.setPreferredSize(new Dimension (250, 75));
        panel2.setPreferredSize(new Dimension (70, 360));
        mytree.setPreferredSize(new Dimension (200, 360));
        panel4.setPreferredSize(new Dimension (250, 80));        
        panel1.setBorder(BorderFactory.createTitledBorder("个人信息"));
        panel2.setBorder(BorderFactory.createTitledBorder(""));
        panel4.setBorder(BorderFactory.createTitledBorder("添加好友/群组"));        
        this.setLayout(new BorderLayout());
        this.add(panel1,"North");
        this.add(panel2,"West");
        this.add(mytree,"Center");
        this.add(panel4,"South");
        this.setSize(250,610);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = this.getSize();
        this.setResizable(false);       
        this.setLocation((d.width - frameSize.width),
                (d.height - frameSize.height) / 2);
        this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);  
    }
    
    public void actionPerformed(ActionEvent arg0) {
        // TODO Auto-generated method stub
        if(arg0.getSource() == button5){                   //离线
            addWindowListener(new WindowAdapter()
            { public void windowClosing(WindowEvent e)
              { System.exit(0);                         
              }
            });                               
            udptalk.sent_data(udptalk.client.host,5748,"离线:"+udptalk.localusername);            
        }          
        if(arg0.getSource() == button4){                 //搜索好友                       
        }
        if(arg0.getSource() == button3){                 //添加群组
            System.out.println("处理完成");
            group = new Groupmessage(client,udptalk,localname);
        }              
    }    
    public void inserttalkfriends(String username,talkGUI talk){
        
        talkingfreinds.put(username, talk);		
    }     
    public talkGUI serch(String username){
        return (talkGUI)talkingfreinds.get(username);		
    }
    public  Groupmessage getGroupmessage(){
        return group;
    }
    public void deletfriends(String username){
        talkingfreinds.remove(username);
    }
}


⌨️ 快捷键说明

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