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("更换头像");
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("更换头像");
相关文章推荐
- 用JAVA编写的文档编辑器源代码
- JAVA编写的计算器源代码
- java解压zip文件,处理文件名不能为中文
- 基于Struts2的文件上传
- Java并发编程实战笔记_并发任务执行
- spring性能提升
- Java性能的问与答:概述以及Cpu调优
- Ganymed SSH-2 for Java系列5之删除远程服务器上的目录(补充说明)
- Ganymed SSH-2 for Java系列5之删除远程服务器上的目录
- struts2之单个文件上传
- Ganymed SSH-2 for Java系列4之删除远程服务器上的文件
- 62 Java 重写类的equals()方法
- SpringMvc国际化 根据不同请求调用不同的资源文件
- java实现FTP上传下载
- springframework中使用ReloadableResourceBundleMessageSource加载properties文件的问题
- Ganymed SSH-2 for Java系列2之连接远程服务器
- Ganymed SSH-2 for Java系列1之 ganymed-ssh2介绍
- JAVA项目工程导入.jar包
- JAVA环境变量
- eclipse使用replace命令替换整个project/workspace的某个字符串