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

📄 talkframemain.java

📁 java版QQ聊天,实现用户登录验证
💻 JAVA
字号:
package com.qq;
import javax.swing.*;
import javax.swing.event.*;
import java.net.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.color.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;



public class TalkFrameMain extends JFrame
{
	public static Socket ss = null;
	public ClientButton btnClose;
	public ClientButton btnSend;
	public JTextPane sendText;
	public JTextPane msgText;
	public JPanel RightPanel;			//窗体右边用户列表的面板
	public TalkFrameMain(String name)
	{
		super(name);
		Container c = this.getContentPane();
		c.setLayout(new BorderLayout());
		
		JPanel NorthPanel = new JPanel();			//北面的JPanel
		NorthPanel.setPreferredSize(new Dimension(480,50));
		NorthPanel.setBackground(new Color(104,188,248));
		
		JPanel CenterPanel= new JPanel();			//中间的JPanel
		CenterPanel.setBackground(new Color(104,188,248));	
		CenterPanel.setLayout(new BorderLayout());
		//在中间的JPanel 再分2个面板   一个为用户列表RigthePanel  一个为聊天列表LeftPanel
		//用户列表
		RightPanel = new JPanel();
		RightPanel.setBackground(new Color(104,188,248));
		RightPanel.setPreferredSize(new Dimension(150,430));		
		
		
		//聊天列表 再分一个文本面板  一个按钮面板
		JPanel LeftPanel = new JPanel();
		LeftPanel.setBackground(Color.green);
		
		LeftPanel.setLayout(new BorderLayout());
		
		//按钮面板
		JPanel ButtonPanel = new JPanel();
		ButtonPanel.setBackground(new Color(104,188,248));
		btnClose = new ClientButton("关闭",1,false);
		btnSend = new ClientButton("发送",1,false);
		
		//在按钮面板中 添加按钮
		ButtonPanel.add(btnClose);
		ButtonPanel.add(btnSend);
		
		//文本面板
		JPanel TextPanel = new JPanel();
		TextPanel.setBackground(new Color(104,188,248));
		TextPanel.setLayout(new BorderLayout());

		msgText = new JTextPane();
		msgText.setPreferredSize(new Dimension(330,200));
		
		
		JPanel sendPanel = new JPanel();
		sendPanel.setBackground(Color.red);
		sendPanel.setPreferredSize(new Dimension(330,200));
		
		sendPanel.setLayout(new BorderLayout());
		sendText = new JTextPane();
		JPanel facePanel = new JPanel();
		facePanel.setPreferredSize(new Dimension(330,30));
		facePanel.setBackground(new Color(104,188,248));
		
		sendPanel.add(sendText,BorderLayout.CENTER);
		sendPanel.add(facePanel,BorderLayout.NORTH);
		
		TextPanel.add(msgText,BorderLayout.CENTER);
		TextPanel.add(sendPanel,BorderLayout.SOUTH);
		
		LeftPanel.add(ButtonPanel,BorderLayout.SOUTH);
		LeftPanel.add(TextPanel,BorderLayout.CENTER);
		
		CenterPanel.add(LeftPanel,BorderLayout.CENTER);
		CenterPanel.add(RightPanel,BorderLayout.EAST);
		
		c.add(NorthPanel,BorderLayout.NORTH);
		c.add(CenterPanel,BorderLayout.CENTER);
		
		setSize(480,480);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	
	public static void main(String age[])
	{
		TalkFrameMain TFM =  new TalkFrameMain("main");

		TFM.show(true);
	}
	
	public ClientButton getbtnSend()
	{
		return btnSend;
	}
		
	public ClientButton getbtnClose()
	{
		return btnClose;
	}
	
	public JTextPane getsendText()
	{
		return sendText;
	}
	public JTextPane msgText()
	{
		return msgText;
	}
	
	public void setbtnSendActionListener(Socket cs)
	{
			ss = cs;
			btnSend.addActionListener(
			new ActionListener()
			{
				public void actionPerformed(ActionEvent ae)
				{
					
					try{
						OutputStream out = TalkFrameMain.this.ss.getOutputStream();
						String sendMsg;
//						BufferedReader bout = new BufferedReader(new InputStreamReader(System.in));
//						sendMsg = bout.readLine();
						
						sendMsg = sendText.getText();
						sendText.setText("");
						PrintWriter P = new PrintWriter(out);
						P.println(sendMsg);
						P.flush();						
					}catch(UnknownHostException e)
					{
						System.out.println(e);
						System.out.println("地址错误");
					}catch(IOException e)
					{
						System.out.println(e);
						System.out.println("端口错误");
						
					}catch(NullPointerException e)
					{
						System.out.println("接点错误");
					}
					
					catch(Exception e)
					{
						System.out.println(e);
						System.out.println("未知错误");
					}
					

				}
				
			}	
		);
	}
	
	
}

⌨️ 快捷键说明

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