📄 chatgui.java
字号:
import javax.swing.*;
import java.awt.*;
import java.net.*;
import java.util.*;
import java.awt.color.*;
import java.awt.event.*;
import javax.swing.border.*;
import java.lang.Object;
import javax.swing.border.*;
import javax.swing.text.*;
public class chatGUI extends JFrame implements ActionListener,Runnable,ItemListener
{
Container k;
final String colorName[] = {"","","","","","","",""};
//final JList commonArea1;
JButton amend,help;
ClientItf client;
JComboBox but3,comboBox, comboBox1, comboBox2, comboBox3, comboBox4,comboboxWord;
JRadioButton RadioButton1,RadioButton2;
JTextPane commonArea,commonArea2,commonArea3,commonArea4,textsetMessage,publictextGetMessage,privatetextGetMessage,textare2,textare1;
ButtonGroup buttongroupl;
JScrollPane s2,scrollDrivateChat,scrollPrivateChat,scrollpost;
ButtonGroup buttongroup;
JPanel p,p2,p3,p4,p5,p6;
JLabel label7,chatName;
GridBagLayout gb;
GridBagConstraints gbc;
JList listUsrifo;
JTextArea textare6;
String myName;
//String line;
JComboBox cbb;
JTextPane textare3 ;
JButton dispatch;
JButton cancel;
public chatGUI(ClientItf c3,String me)//,String name
{
super("小 布 点 聊 室 欢 迎 "+ me +" 的 到 来 !");
client =c3;
this.myName=me;
//line="";//********在线列用户 选择变量名
this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("6516959_1.jpg")));
Container c = this.getContentPane();
p = new JPanel ();
p2 = new JPanel();
p3 = new JPanel();
p4 = new JPanel();
p5 = new JPanel();
p6 = new JPanel();
label7 = new JLabel(" 颜色 ");
gb = new GridBagLayout();
gbc = new GridBagConstraints();
p.setLayout(gb);
c.add(p);
Icon i = new ImageIcon("lianse.gif");
JLabel llblTop = new JLabel();
llblTop.setIcon(i);
help = new JButton("");//帮助按钮
help.addActionListener(this);
help.setForeground(Color.red);
help.setBackground(Color.white);
Icon ii = new ImageIcon("TextFrameThumb1.jpg");
help.setIcon(ii);
chatName = new JLabel(" 欢 迎 使 用 小 布 点 聊 天 工 具 !");
textare1 = new JTextPane ();//公聊宽
textare1.setPreferredSize(new Dimension(400,140));
textare1.setEditable(false);
scrollDrivateChat = new JScrollPane(textare1);
textare2 = new JTextPane();//私聊区
textare2.setPreferredSize(new Dimension(400,140));
textare2.setEditable(false);
scrollPrivateChat = new JScrollPane(textare2);
textare6 = new JTextArea(16,7);//聊天室公告
textare6.setEditable(false);
textare6.setLineWrap(true);
scrollpost = new JScrollPane(textare6);
p5.add(scrollpost);
// 在线用户列表
// commonArea1 = new JList();
// s2 = new JScrollPane(commonArea1);
// s2.setPreferredSize(new Dimension(110,300));
buttongroup=new ButtonGroup();
RadioButton1 = new JRadioButton("公聊",true);
RadioButton2 = new JRadioButton("私聊");
buttongroup.add(RadioButton1);
buttongroup.add(RadioButton2);
p6.add(RadioButton1);
p6.add(RadioButton2);
p6.setBackground(Color.orange);
JLabel font = new JLabel("字 体:");//加字体区
JComboBox comboBox2= new JComboBox();
comboBox2.addItem("方正舒体");
comboBox2.addItem("仿宋_GB2312");
comboBox2.addItem("黑体");
comboBox2.addItem("华文彩云");
comboBox2.addItem("华文仿宋");
comboBox2.addItem("华文新魏");
comboBox2.addItem("华文细黑");
comboBox2.addItem("宋体-方正超大字符集");
comboBox2.addItem("Webdings");
comboBox2.setPreferredSize(new Dimension(70,20));
FlowLayout f = new FlowLayout(FlowLayout.LEADING);
p3.setLayout(f);
p3.add(font);
p3.add(comboBox2);
p3.setBackground(Color.orange);
JPanel pMain = new JPanel();
//***********************************************************************************************
JLabel expression = new JLabel("表 情:");//加表情区
cbb= new JComboBox();
Icon[] iconPri = new ImageIcon[20];
for(int j=0;j<iconPri.length;j++)
{
iconPri[j] = new ImageIcon("face/"+ j +".JPG");
cbb.addItem(iconPri[j]);
}
//temListener ilisten=new ItemchangedListener();
cbb.addItemListener(this);
//*********************************************************************************************
textare3 = new JTextPane (); //输入宽
//textare3.setLineWrap(true);
JScrollPane scrollwrite = new JScrollPane(textare3);
scrollwrite.setPreferredSize(new Dimension(100,100));
//
// textare5 = new JTextArea (16,8); //用户列表宽
// textare5.setEditable(false);
// textare5.setLineWrap(true);
listUsrifo=new JList();
JScrollPane scrolluser = new JScrollPane(listUsrifo);
scrolluser.setPreferredSize(new Dimension(110,320));
scrollDrivateChat.setBorder(BorderFactory.createTitledBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED), "群 聊 区", TitledBorder.CENTER, TitledBorder.DEFAULT_POSITION, new java.awt.Font("宋体", java.awt.Font.BOLD, 14), java.awt.Color.gray));
scrollPrivateChat.setBorder(BorderFactory.createTitledBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED), "私 聊 区", TitledBorder.CENTER, TitledBorder.DEFAULT_POSITION, new java.awt.Font("宋体", java.awt.Font.BOLD, 14), java.awt.Color.gray));
scrollwrite.setBorder(BorderFactory.createTitledBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED), "写 入 区", TitledBorder.CENTER, TitledBorder.DEFAULT_POSITION, new java.awt.Font("宋体", java.awt.Font.BOLD, 14), java.awt.Color.gray));
scrolluser.setBorder(BorderFactory.createTitledBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED), "在线用户", TitledBorder.CENTER, TitledBorder.DEFAULT_POSITION, new java.awt.Font("宋体", java.awt.Font.BOLD, 14), java.awt.Color.blue));
scrollpost.setBorder(BorderFactory.createTitledBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED), "聊天室公告", TitledBorder.CENTER, TitledBorder.DEFAULT_POSITION, new java.awt.Font("宋体", java.awt.Font.BOLD, 14), java.awt.Color.blue));
p.setBorder(BorderFactory.createTitledBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED), " 欢迎使用小布点聊天工具", TitledBorder.CENTER, TitledBorder.DEFAULT_POSITION, new java.awt.Font("宋体", java.awt.Font.BOLD, 14), java.awt.Color.blue));
//************************************************************************************************
dispatch = new JButton(" 发 送 ");
dispatch.addActionListener(this);
cancel = new JButton(" 取 消 ");
cancel.addActionListener(this);
amend = new JButton("修改资料");
amend.addActionListener(this);
p.setBackground(Color.orange);//加色区
//*************************************************************************************************
gbc.gridx = 0;//图片区
gbc.gridy = 0;
gbc.gridwidth = 0;
gbc.gridheight =0;
gbc.anchor = GridBagConstraints.NORTHEAST;
gbc.insets = new Insets(1,1,1,1);
gb.setConstraints(help,gbc);
p.add(help);
//************************************************************************************************
//**************************************************************************************************
///*******************************在线列表的选择事件
// listUsrifo.addListSelectionListener(new ListSelectionListener()
// {
// public void valueChanged(ListSelectionEvent e)
// {
// line=(String)listUsrifo.getSelectedValue();
//
//
//
// }
// });
//************************************************************************************************
gbc.gridx = 0;//图片区
gbc.gridy = 0;
gbc.gridwidth = 5;
gbc.gridheight =1;
gbc.insets = new Insets(1,1,1,1);
gb.setConstraints(llblTop,gbc);
p.add(llblTop);
gbc.gridx = 0;//本界面用语区
gbc.gridy = 1;
gbc.anchor = GridBagConstraints.CENTER;
gbc.gridwidth = 5;
gbc.gridheight =1;
gb.setConstraints(chatName,gbc);
p.add(chatName);
gbc.gridx = 0;
gbc.gridy = 2;
gbc.gridwidth = 1;
gbc.gridheight =2;
gb.setConstraints(scrolluser,gbc);//再线用户列表框
p.add(scrolluser);
gbc.gridx = 3;
gbc.gridy = 5;
gbc.gridwidth = 1;
gbc.gridheight =1;
gb.setConstraints(p6,gbc);//公撩与私聊
p.add(p6);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -