📄 talkframemain.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 + -