| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2086 人关注过本帖
标题:[求助]聊天室程序的问题
取消只看楼主 加入收藏
guo001
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-3-19
收藏
 问题点数:0 回复次数:22 
[求助]聊天室程序的问题
0oKuXZ9j.rar (3.36 KB) [求助]聊天室程序的问题


运行服务器和客户端时,服务器显示连接正常,客户端有问题
那位大哥给看看,应该怎么修改
搜索更多相关主题的帖子: 聊天室 
2006-06-20 20:41
guo001
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-3-19
收藏
得分:0 

运行服务器和客户端时,服务器显示连接正常,这时客户端的界面就动不了。被别的窗口覆盖的部分就成了白色。


2006-06-21 13:45
guo001
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-3-19
收藏
得分:0 
我觉得没必要用repaint 。版主,你把代码运行一下 帮我找找原因。
并详细说明一下怎么解决! 先谢了。

2006-06-21 14:26
guo001
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-3-19
收藏
得分:0 

if else if那里好象有错 但改正后 问题还没解决!


2006-06-21 15:04
guo001
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-3-19
收藏
得分:0 
服务器也没显示连接正常吗? 不会吧 我这里服务器显示连接正常
客户端有问题。版主帮我修改一下啊!

2006-06-21 23:35
guo001
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-3-19
收藏
得分:0 

我还很菜,刚学java不久。还不懂application,望版主能说的详细点。


2006-06-22 10:22
guo001
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-3-19
收藏
得分:0 
我已经想了2天了,没弄明白是什么问题!

2006-06-22 10:30
guo001
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-3-19
收藏
得分:0 
哦!知道。那我去试试。 谢谢版主

2006-06-22 10:31
guo001
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-3-19
收藏
得分:0 
import javax.swing.*;
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
public class Chatroom extends JFrame implements ActionListener
{
JPanel pm,pn,ps,pe,pc;
JButton bsend,blogin,bcancel;
JTextArea tac,tae;
JTextField tmessage,tname;
BorderLayout b;
ObjectOutputStream output;
ObjectInputStream input;
Socket server;
String str;
public Chatroom()
{
pm=new JPanel();
pn=new JPanel();
ps=new JPanel();
pe=new JPanel();
pc=new JPanel();
b=new BorderLayout();
pm.setLayout(b);
pm.add(pn,BorderLayout.NORTH);
pm.add(ps,BorderLayout.SOUTH);
pm.add(pe,BorderLayout.EAST);
pm.add(pc,BorderLayout.CENTER);

JLabel lbiaoti=new JLabel("CHAT ROOM");
Color c1=new Color(197,248,184);
pn.setBackground(c1);
Color c2=new Color(246,17,50);
lbiaoti.setForeground(c2);
lbiaoti.setFont(new Font("楷体",Font.PLAIN,36));
pn.add(lbiaoti);

Color c3=new Color(249,170,224);
ps.setBackground(c3);
JLabel lmessage=new JLabel("消息");
ps.add(lmessage);
tmessage=new JTextField(30);
tmessage.addActionListener(this);
ps.add(new JScrollPane(tmessage));
bsend=new JButton("send");
bsend.addActionListener(this);
bsend.setBackground(c3);
ps.add(bsend);

tac=new JTextArea(21,35);
Color c5=new Color(156,236,244);
pc.setBackground(c5);
tac.setEditable(false);
pc.add(new JScrollPane(tac));

tae=new JTextArea(16,13);
pe.setBackground(Color.getHSBColor(218,247,230));
JPanel pe1=new JPanel();
JLabel lname=new JLabel("姓名");
tname=new JTextField(8);
blogin=new JButton("登录");
bcancel=new JButton("退出");
pe.add(new JScrollPane(tae));
blogin.addActionListener(this);
bcancel.addActionListener(this);
pe1.setBackground(Color.getHSBColor(218,247,230));
GridBagLayout gbl=new GridBagLayout();
GridBagConstraints gbc=new GridBagConstraints();
pe1.setLayout(gbl);
gbc.gridwidth=GridBagConstraints.REMAINDER;
gbl.setConstraints(tae,gbc);
pe1.add(tae);
JLabel kongge1=new JLabel(" ");
gbc.gridwidth=GridBagConstraints.REMAINDER;
gbl.setConstraints(kongge1,gbc);
pe1.add(kongge1);
gbc.gridwidth=1;
gbc.anchor=GridBagConstraints.WEST;
gbl.setConstraints(lname,gbc);
pe1.add(lname);
gbc.gridwidth=GridBagConstraints.REMAINDER;
gbl.setConstraints(tname,gbc);
pe1.add(tname);
JLabel kongge2=new JLabel(" ");
gbc.gridwidth=GridBagConstraints.REMAINDER;
gbl.setConstraints(kongge2,gbc);
pe1.add(kongge2);
gbc.gridwidth=1;
gbc.anchor=GridBagConstraints.EAST;
gbl.setConstraints(blogin,gbc);
pe1.add(blogin);
gbc.gridwidth=GridBagConstraints.SOUTHEAST;
gbc.gridwidth=GridBagConstraints.REMAINDER;
gbl.setConstraints(bcancel,gbc);
pe1.add(bcancel);
pe.add(pe1);

this.setSize(510,570);
this.setVisible(true);
this.getContentPane().add(pm);
}
public void actionPerformed(ActionEvent e1)
{
try
{
if(e1.getSource()==bsend)
{
String message=tmessage.getText();
if(message.length()!=0)
{
output.writeObject("Client Say: "+message);
output.flush();
tac.append("\nClient Say: "+message);
tmessage.setText("");
// getAppletContext().showStatus("OK!");
}
else
{
tac.append("Message can not be empty!");
// getAppletContext().showStatus("Message can not be empty!");
}
}
else if(e1.getSource()==tmessage)
{
output.writeObject("Client Say: "+e1.getActionCommand());
output.flush();
tac.append("\nClient Say: "+e1.getActionCommand());
tmessage.setText("");
// getAppletContext().showStatus("OK!");
}
if(e1.getSource()==blogin)
{
if(tname.getText().length()!=0)
{
tname.setText("");
// getAppletContext().showStatus("OK!");
/* this.connecttoserver();
this.getstream();
this.clientprocess();
this.close();*/

}
else
{
tac.append("Name can not be empty!");
// getAppletContext().showStatus("Name can not be empty!");
}
}
/* if(e1.getSource()==bcancel)
{
this.close();
}*/
}
catch(Exception e)
{
//tac.append("\nError");
tac.append(e.toString());
System.out.println(e.toString());
}
}
public void connecttoserver()throws IOException
{
tac.append("正在建立连接.............");
server=new Socket(InetAddress.getByName("USER-3C27D50FFF"),8000);
tac.append("已连接到"+server.getInetAddress().getHostName());
}
public void getstream()throws IOException
{
output=new ObjectOutputStream(server.getOutputStream());
output.flush();
input=new ObjectInputStream(server.getInputStream());
tac.append("连接成功");
}
public void clientprocess()throws IOException
{
do
{
try
{
//this.init();
//this.actionPerformed();
str=(String)input.readObject();
tac.append("\nServer"+str);
}
catch(Exception e2)
{
}
}
while(!str.equals("Server Say: 444"));
}
public void close()throws IOException
{
tac.append("\n正在关闭");
output.close();
input.close();
server.close();
}
public void runClient()
{
try
{
this.connecttoserver();
this.getstream();
this.clientprocess();
this.close();
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
public static void main(String args[])
{
Chatroom obj=new Chatroom();
obj.runClient();
}

}
我把程序这样修改后就能成功,可是登录按钮和退出按钮就没用了;
不知道怎样修改一下能把登录按钮和退出按钮用上;
我是想在那2个地方在调用,可是........没办法的情况下,写了个runClient()
试了一下这样可以 。为什么我在函数里调用不行呢?

[此贴子已经被作者于2006-6-22 11:19:50编辑过]


2006-06-22 10:49
guo001
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-3-19
收藏
得分:0 
知道了!多谢指点。

2006-06-22 11:13
快速回复:[求助]聊天室程序的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017660 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved