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

📄 grouptalkgui.java

📁 一个采用Java Socket编程实现的QQ软件
💻 JAVA
字号:
package client;
import java.awt.BorderLayout;
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 javax.swing.*;
public class GrouptalkGUI extends JFrame implements ActionListener{
	String freindsname = null; 
	clientGUI clientgui;
	JTextArea textrecod,textinput;
	JPanel panel1,panel2,panel3,panel4,panel5,panel6,panel7,panel8;
	JPanel panel61, panel62;
	JButton button1, button2,button3,button4,button5;
	JLabel label1,label2,label3,label4;
        JList label5;
        DataModel model1,model2;
        private Groupworks works;
        private String localname;
    public GrouptalkGUI(String[] online,Groupworks works,String localname){
        super("与聊天中");
    	//this.udptalk = udptalk;
    	//this.freindsname = freindsname;
    	//this.clientgui = clientgui;
        this.works = works;
        this.localname = localname;
    	textrecod = new JTextArea();
    	textinput = new JTextArea();
    	panel1 = new JPanel();  
    	panel2 = new JPanel();
    	panel3 = new JPanel();
    	panel4 = new JPanel();
    	panel5 = new JPanel();
    	
    	button1 = new JButton("聊天记录");
    	button2 = new JButton("关闭");
    	button3 = new JButton("发送");
    	button1.addActionListener(this);
    	button2.addActionListener(this);
    	button3.addActionListener(this);
        //	if(freindsname.equals("服务器")){
        //  button3.setEnabled(false);
        //   }	
        label1 = new JLabel(new ImageIcon("Default.gif"));        
        label2 = new JLabel("大家好");
        label3 = new JLabel();
            	
    	panel1.setLayout(new BorderLayout());
    	panel1.add(new JScrollPane(textrecod),"Center");
    	panel2.setLayout(new BorderLayout());
    	panel2.add(label1,"West");
    	panel2.add(label2,"Center");
    	panel1.add(panel2,"North");
    	label1.setPreferredSize(new Dimension(30,30));
    	panel1.setPreferredSize(new Dimension(40,29));
    	
    	panel3.setLayout(new BorderLayout());
    	panel4.add(button1);
    	panel4.add(label3);
    	panel4.add(button2);
    	panel4.add(button3);
    	panel3.add(panel4,"North");
    	label3.setPreferredSize(new Dimension(82,20));
    	button1.setPreferredSize(new Dimension(88,20));
    	button2.setPreferredSize(new Dimension(60,20));
    	button3.setPreferredSize(new Dimension(60,20));
    	panel4.setPreferredSize(new Dimension(200,25));
    	panel3.add(new JScrollPane(textinput),"Center");
    	panel5.setLayout(new BorderLayout());
    	panel5.add(panel1,"Center");
    	panel5.add(panel3,"South");
    	panel1.setPreferredSize(new Dimension(400,300));
    	panel3.setPreferredSize(new Dimension(400,100));
    	
    	
    	model1 = new DataModel(online);
       // model2 = new DataModel(downline);
    	panel6 = new JPanel();
    	panel7 = new JPanel();
    	panel8 = new JPanel();
    	panel61 = new JPanel();
    	panel62 = new JPanel();
    	button4 = new JButton("群组空间");
    	button5 = new JButton("群组成员");
    	label5 = new JList(model1);
    	label4 = new JLabel(new ImageIcon("Default.gif"));
    	button4.setPreferredSize(new Dimension(200,15));
    	button5.setPreferredSize(new Dimension(200,15));
    	label4.setPreferredSize(new Dimension(100,150));
    	label4.setPreferredSize(new Dimension(100,150));
    	panel7.setLayout(new BorderLayout());
    	panel61.setLayout(new BorderLayout());
    	panel62.setLayout(new BorderLayout());
    	panel61.add(button4,"South");
    	panel62.add(button5,"South");
    	panel61.setPreferredSize(new Dimension(100,45));
    	panel61.setBackground(new Color(100,230,100));
    	panel62.setPreferredSize(new Dimension(100,45));
    	panel62.setBackground(new Color(100,200,100));
    	panel7.add(panel61,"North");
    	panel7.add(label4,"Center");
    	panel8.setLayout(new BorderLayout());
    	panel8.add(panel62,"North");
    	panel8.add(label5,"Center");
    	panel6.setLayout(new GridLayout(2,1));
    	panel6.add(panel7);
    	panel6.add(panel8);
    	panel5.setPreferredSize(new Dimension(320,510));
    	panel6.setPreferredSize(new Dimension(130,510));
    	
    	
    	this.setLayout(new BorderLayout());
    	this.add(panel5,"Center");
    	this.add(panel6,"East");
    	this.setSize(450,400);
    	this.setVisible(true);
        //this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = this.getSize();
        this.setLocation((d.width - frameSize.width) / 2,
                (d.height - frameSize.height) / 2);
        // this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);                                  
    } 	
    public void actionPerformed(ActionEvent arg0) {
        if(arg0.getSource() == button1){ //聊天记录
            
        }
        if(arg0.getSource() == button2){ //退出按键	
            works.grouptalk = null;
            //需要修改
        }
        if(arg0.getSource() == button3){ //发送聊天内容
            String content = null;
            content = textinput.getText().trim();
            if(!content.equals("")){
                works.sentGroupdata(localname+":"+content);	       
                textinput.setText("");
            }
        }		
    }
    public void addonlinenumber(String username){
        model1.addElement(username);
        model2.removeElement(username);
    }
    public void downlinenumber(String username){
        model2.addElement(username);
        model1.removeElement(username);
    }
    public void displaymessage(String username,String content){//负责在记录框中发布信息
        textrecod.append(username + " 说:\n");
        textrecod.append(" " + content+ "\n");
    }
    public void setmessagelabel(String message){
        label2.setToolTipText(message);
    }
    
}



⌨️ 快捷键说明

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