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

📄 talkgui.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 javax.swing.*;

public class talkGUI 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,label5;
    private udptalks udptalk;
    public talkGUI(String freindsname,clientGUI clientgui,udptalks udptalk){
        super("与"+freindsname+"聊天中");
        this.udptalk = udptalk;
        this.freindsname = freindsname;
        this.clientgui = clientgui;        
        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));
    	       	
    	panel6 = new JPanel();
    	panel7 = new JPanel();
    	panel8 = new JPanel();
    	panel61 = new JPanel();
    	panel62 = new JPanel();
    	button4 = new JButton("对方形象");
    	button5 = new JButton("我的形象");
    	label4 = new JLabel(new ImageIcon("Default.gif"));
    	label5 = 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);
        this.setResizable(false);
    	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){ //退出按键
			clientgui.deletfriends(freindsname);                        
			 //需要修改
		}
        if(arg0.getSource() == button3){ //发送聊天内容
	       String content = null;
	       content = textinput.getText().trim();
	       if(!content.equals("")){
	       udptalk.sentfriendsdata(freindsname, content);
	       displaymessage("loacal",content);
	       textinput.setText("");
	       }
        }		
	}
	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 + -