您的位置:首页 > 编程语言 > Java开发

java编写的socket聊天程序(登录)

2014-04-18 12:55 501 查看
package MyChatRoom;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.net.*;

import java.io.*;

import javax.swing.filechooser.FileNameExtensionFilter;

public class MyChatRoom

{

 public static void main(String Args [])

 {

  logFrame log=new
logFrame();

 }

}

//聊天模块

class MyFrame extends JFrame implements ActionListener

{

 public MyFrame(int a,String ip)

 {

  //获取传来的参数

  ipA=ip;

  selectNum=a;

  //基本设置

  setTitle("Sun聊天小工具");

  setSize(WIDTH,HEIGHT);

  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  

  //创建3个面板,一个放文本框,一个放按钮,一个放图片

  JPanel textpanel = new
JPanel();

  JPanel buttonPanel=new
JPanel();

  JPanel picPanel=new
JPanel();

  Container contentPane =
getContentPane();

  

  GridBagConstraints cc=new
GridBagConstraints();

  GridBagLayout ca=new
GridBagLayout();

  contentPane.setLayout(ca);

  cc.fill=GridBagConstraints.BOTH;

  //初始化一个容器

  cc.gridwidth=1;

  cc.gridheight=2;

  contentPane.add(picPanel);

  ca.setConstraints(picPanel,cc);

  cc.weighty=0.0;

  cc.gridwidth=GridBagConstraints.REMAINDER;

  cc.gridheight=1;

  cc.weighty=1.0;

  contentPane.add(textpanel);

  ca.setConstraints(textpanel,cc);

  contentPane.add(buttonPanel);

  ca.setConstraints(buttonPanel,cc);

  

  

  

  //网格式布局

  GridBagConstraints c=new
GridBagConstraints();

  GridBagLayout gridbag=new
GridBagLayout();

  textpanel.setLayout(gridbag);

  c.fill=GridBagConstraints.BOTH;

 

 

  

  //初始化组件

  //发送按钮

  btSet=new JButton("发送");

  buttonPanel.add(btSet);

  btSet.addActionListener(this);

  

  //取消按钮

  btCancel=new
JButton("取消");

  buttonPanel.add(btCancel);

  btCancel.addActionListener(this);

  

  //清空按钮

  btClear=new
JButton("清屏");

  buttonPanel.add(btClear);

  btClear.addActionListener(this);

  

  //显示消息框

  c.weightx=1.0;

  c.weighty=1.0;

  c.gridwidth=GridBagConstraints.REMAINDER;

  getBox=new
JTextArea(15,30);

  getBox.setEditable(false);

  myScro=new
JScrollPane(getBox);

  textpanel.add(myScro);

  gridbag.setConstraints(myScro,c);

 

  //设置文本框显示数据往下翻页

  getBox.setCaretPosition(getBox.getText().length());

  

  //标签项

  c.weightx=1.0;

  c.gridwidth=GridBagConstraints.RELATIVE;;

  label1=new JLabel("输入");

  label4=new
JLabel("聊天内容");

  c.gridwidth=GridBagConstraints.REMAINDER;

  gridbag.setConstraints(label4,c);

  textpanel.add(label1);

  textpanel.add(label4);

 

  //发送消息框

  setBox=new
JTextArea(7,30);

  myScro2=new
JScrollPane(setBox);

  textpanel.add(myScro2);

  gridbag.setConstraints(myScro2,c); 

  

  //菜单项

  //主菜单

  JMenuBar menuBar = new
JMenuBar();

  setJMenuBar(menuBar);

  gyMenu =new
JMenu("关于(G)");

  bzMenu =new
JMenu("帮助(H)");

  editMenu =new
JMenu("编辑(E)");

  szMenu =new
JMenu("设置(S)");

  menuBar.add(editMenu);

  menuBar.add(gyMenu);

  menuBar.add(bzMenu);

  menuBar.add(szMenu);

  

  

  //子菜单

  aa =new JMenuItem("版权");

  zzxx =new
JMenuItem("作者信息");

  gyMenu.add(aa);

  gyMenu.add(zzxx);

  aa.addActionListener(this);

  zzxx.addActionListener(this);

  cop=new JMenuItem("复制");

  cut =new JMenuItem("剪切");

  pas =new JMenuItem("粘贴");

  editMenu.add(cop);

  editMenu.add(cut);

  editMenu.add(pas);

  cop.addActionListener(this);

  cut.addActionListener(this);

  pas.addActionListener(this);

  syzn=new
JMenuItem("使用指南");

  bzMenu.add(syzn);

  syzn.addActionListener(this);

  pifu=new
JMenuItem("字体颜色");

  beijing=new
JMenuItem("背景色");

  touxiang=new
JMenuItem("更换头像");

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: