帮忙看一下这个JAVA程序错在哪里了?!谢谢,急!
我的毕业设计是做一个即时通讯软件,我是用JAVA做的.使用的大概是网上最常见的那套程序,但是这套程序错误多多我想请教高手帮我解决一下..首先.我的聊天功能不能正常实现,在...
我的毕业设计是做一个即时通讯软件,我是用JAVA做的.
使用的大概是网上最常见的那套程序,但是这套程序错误多多
我想请教高手帮我解决一下..
首先.我的聊天功能不能正常实现,在我发编辑好聊天内容点击发送后,对方能够弹出提示,说XX给你发送消息,但是点击接收按钮后,内容不能显示出来.相关代码:
void send_mouseClicked(MouseEvent e) {// 发送消息
try {
String s = sendtext.getText().trim();
// System.out.println(s);
byte[] data = s.getBytes();
System.out.println(theip);
theip.trim();
if (theip.equals("null") || theip.equals(" ") || theip.equals("0")) {
JOptionPane.showMessageDialog(this, ":-(对不起,不在线", "ok",
JOptionPane.INFORMATION_MESSAGE);
} else {
InetAddress inetAddr = InetAddress.getByName(theip);
System.out.println("inetAddr=" + inetAddr);
sendPacket = new DatagramPacket(data, s.length(), InetAddress
.getByName(theip), sendPort);
sendSocket.send(sendPacket);
}
} catch (IOException e2) {
sendtext.append(sendtext.getText());
e2.printStackTrace();
}
senddata.dispose();
// *******end send message
}
void getmessage_mousePressed(MouseEvent e) {// 接受消息菜单
System.out.println("zhy receiving1...." + received);
String message = received.trim();
System.out.println("zhy receiving2...." + received);
index = list.getSelectedIndex();
if (index == index4)
getinfo.append(message);
else
getinfo.append(" ");
getfromname.setText(friendnames.get(index4).toString().trim());
getfromjicq.setText(friendjicq.get(index4).toString().trim());
getdata.show();
}
void getok_mouseClicked(MouseEvent e) {// 接受消息
getinfo.setText(" ");
getdata.dispose();
received = " ";
}
另外,在我发送消息框内我上次编辑好的聊天内容,在我下一次点击聊天框的时候,还会出现,是不是需要写一个点击前清除的代码呢?请指教!
还有,以前接收聊天内容的能用过几次,我不知道改了改哪里,就不能显示了,但能显示的时候收到的聊天内容,中文会出现乱码.不知道应该加句什么进行乱码的处理.
另外,这个聊天程序,没有对添加好友进行处理,同样的好友可以加很多,是不是需要加一个限制语句.我加了,但是我加的语句程序没有读,不知道为什么,相关代码如下,希望高手帮助.我想让程序这样执行.如果添加了已有的好友,可以在客户端弹出提示"您已经有这个好友了",谢谢~
String sql = "select * from friend where icqno=? and friend = ?";
PreparedStatement ps = c6.prepareCall(sql);
ps.setInt(1, myicqno);
ps.setInt(2, friendicqno);
ResultSet rs = ps.executeQuery();
System.out.println("****************");
if(!rs.next()){
String addfriend = "insert into friend values(?,?)";
PreparedStatement prepare6 = c6.prepareCall(addfriend);
prepare6.clearParameters();
prepare6.setInt(1, myicqno);
prepare6.setInt(2, friendicqno); 展开
使用的大概是网上最常见的那套程序,但是这套程序错误多多
我想请教高手帮我解决一下..
首先.我的聊天功能不能正常实现,在我发编辑好聊天内容点击发送后,对方能够弹出提示,说XX给你发送消息,但是点击接收按钮后,内容不能显示出来.相关代码:
void send_mouseClicked(MouseEvent e) {// 发送消息
try {
String s = sendtext.getText().trim();
// System.out.println(s);
byte[] data = s.getBytes();
System.out.println(theip);
theip.trim();
if (theip.equals("null") || theip.equals(" ") || theip.equals("0")) {
JOptionPane.showMessageDialog(this, ":-(对不起,不在线", "ok",
JOptionPane.INFORMATION_MESSAGE);
} else {
InetAddress inetAddr = InetAddress.getByName(theip);
System.out.println("inetAddr=" + inetAddr);
sendPacket = new DatagramPacket(data, s.length(), InetAddress
.getByName(theip), sendPort);
sendSocket.send(sendPacket);
}
} catch (IOException e2) {
sendtext.append(sendtext.getText());
e2.printStackTrace();
}
senddata.dispose();
// *******end send message
}
void getmessage_mousePressed(MouseEvent e) {// 接受消息菜单
System.out.println("zhy receiving1...." + received);
String message = received.trim();
System.out.println("zhy receiving2...." + received);
index = list.getSelectedIndex();
if (index == index4)
getinfo.append(message);
else
getinfo.append(" ");
getfromname.setText(friendnames.get(index4).toString().trim());
getfromjicq.setText(friendjicq.get(index4).toString().trim());
getdata.show();
}
void getok_mouseClicked(MouseEvent e) {// 接受消息
getinfo.setText(" ");
getdata.dispose();
received = " ";
}
另外,在我发送消息框内我上次编辑好的聊天内容,在我下一次点击聊天框的时候,还会出现,是不是需要写一个点击前清除的代码呢?请指教!
还有,以前接收聊天内容的能用过几次,我不知道改了改哪里,就不能显示了,但能显示的时候收到的聊天内容,中文会出现乱码.不知道应该加句什么进行乱码的处理.
另外,这个聊天程序,没有对添加好友进行处理,同样的好友可以加很多,是不是需要加一个限制语句.我加了,但是我加的语句程序没有读,不知道为什么,相关代码如下,希望高手帮助.我想让程序这样执行.如果添加了已有的好友,可以在客户端弹出提示"您已经有这个好友了",谢谢~
String sql = "select * from friend where icqno=? and friend = ?";
PreparedStatement ps = c6.prepareCall(sql);
ps.setInt(1, myicqno);
ps.setInt(2, friendicqno);
ResultSet rs = ps.executeQuery();
System.out.println("****************");
if(!rs.next()){
String addfriend = "insert into friend values(?,?)";
PreparedStatement prepare6 = c6.prepareCall(addfriend);
prepare6.clearParameters();
prepare6.setInt(1, myicqno);
prepare6.setInt(2, friendicqno); 展开
3个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询