小弟最近从网站上下了一个JICQ 可是不知道怎么回事,编译时没有问题!!就是运行不了!!

ouyangzg 2003-05-17 04:40:37
分New.java Server.java MainWin.java Register.java
1.//New.java如下

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.io.*;
public class New extends JFrame {//登录窗口类
JPanel contentPane;
//*****************
String server;//服务器名
int serport;//端口
private Socket socket;
private BufferedReader in;//输入输出流
private PrintWriter out;
//***********//程序界面
JPanel jPanel1 = new JPanel();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JTextField jicq = new JTextField();
JLabel jLabel3 = new JLabel();
JPasswordField password = new JPasswordField();
JPanel jPanel2 = new JPanel();
JButton login = new JButton();
JButton newuser = new JButton();
JButton quit = new JButton();
JLabel jLabel6 = new JLabel();
JTextField servername = new JTextField();
JLabel jLabel7 = new JLabel();
JTextField serverport = new JTextField();
public New() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try { jbInit();
server=servername.getText().toString().trim();
serport=Integer.parseInt(serverport.getText().trim());
} catch(Exception e) { e.printStackTrace(); }

}
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(null);
this.setResizable(false);
this.setSize(new Dimension(344, 245));
this.setTitle("New JICQ");
//contentPane.add(text, null);
jPanel1.setBounds(new Rectangle(2, 3, 348, 110));
jPanel1.setLayout(null);
jLabel1.setText("请输入你的信息");
jLabel1.setBounds(new Rectangle(5, 7, 103, 18));
jLabel2.setText("你的Jicq");
jLabel2.setBounds(new Rectangle(7, 66, 58, 18));
jicq.setBounds(new Rectangle(68, 65, 97, 22));
jLabel3.setText("你的密码");
jLabel3.setBounds(new Rectangle(173, 66, 67, 18));
password.setBounds(new Rectangle(237, 63, 94, 22));
jPanel2.setBounds(new Rectangle(8, 154, 347, 151));
jPanel2.setLayout(null);
login.setText("登录");
login.setBounds(new Rectangle(5, 27, 79, 29));
login.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
login_mouseClicked(e);
}
});
newuser.setText("新建");
newuser.setBounds(new Rectangle(118, 28, 79, 29));
newuser.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
newuser_mouseClicked(e);
}
});
quit.setText("退出");
quit.setBounds(new Rectangle(228, 26, 79, 29));
quit.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
quit_mouseClicked(e);
}
});
jLabel6.setText("服务器");
jLabel6.setBounds(new Rectangle(20, 132, 41, 18));
servername.setText("hg");
servername.setBounds(new Rectangle(73, 135, 102, 22));
jLabel7.setText("端口");
jLabel7.setBounds(new Rectangle(191, 137, 41, 18));
serverport.setText("8080");
serverport.setBounds(new Rectangle(241, 131, 90, 30));
contentPane.add(jPanel1, null);
jPanel1.add(jLabel1, null);
jPanel1.add(jLabel2, null);
jPanel1.add(jicq, null);
jPanel1.add(jLabel3, null);
jPanel1.add(password, null);
contentPane.add(jPanel2, null);
jPanel2.add(login, null);
jPanel2.add(quit, null);
jPanel2.add(newuser, null);
contentPane.add(jLabel6, null);
contentPane.add(servername, null);
contentPane.add(jLabel7, null);
contentPane.add(serverport, null);
}
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
public static void main(String[] args) {//主程序
New f=new New();
f.setVisible(true);

}

void login_mouseClicked(MouseEvent e) {//登录按扭

try{Socket socket=new Socket(InetAddress.getByName(server),serport);//连接服务器

BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out=new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),true);
out.println("login");//告诉服务器我要登录
out.println(jicq.getText());
out.println(password.getPassword());

String str=" ";
//do{
str=in.readLine().trim();//从服务器读取消息
//如果失败就告诉出错
if(str.equals("false")) JOptionPane.showMessageDialog(this,"对不起,出错了:-(","ok",JOptionPane.INFORMATION_MESSAGE);
else{//如果成功就打开主程序
this.dispose();
int g=Integer.parseInt(jicq.getText());
MainWin f2=new MainWin(g,server,serport);
f2.setVisible(true);
}

//System.out.println("\n");
//}while(!str.equals("ok"));
}catch(IOException e1){}
}

void newuser_mouseClicked(MouseEvent e) {//新建用户按纽
this.dispose();
JDialog d=new Register(server,serport);//打开新建窗口
d.pack();
d.setLocationRelativeTo(this);
d.setSize(400,400);
d.show();
}

void quit_mouseClicked(MouseEvent e) {//关闭按扭
this.dispose();
System.exit(0);
}

}
...全文
89 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ouyangzg 2003-06-03
  • 打赏
  • 举报
回复
我调试成功,并且打包成EXE文件了。
ouyangzg 2003-05-29
  • 打赏
  • 举报
回复
我调试成功了
hhccl 2003-05-18
  • 打赏
  • 举报
回复
我用的是JBUILDER7
ouyangzg 2003-05-18
  • 打赏
  • 举报
回复
应该是你的JBUILDER配置有问题。。。安装JBUILDER8的时候,要把..\LIB下的JBUILDER.jar先备份,用CRACK中的jbuilder.jar覆盖..\lib下的jbuilder.jar,破解完后在第一次打开JBUILDER前要把原来备份的jbuilder.jar放回..\lib下。。。。。。
hhccl 2003-05-18
  • 打赏
  • 举报
回复
是的
ouyangzg 2003-05-18
  • 打赏
  • 举报
回复
你用什么编译的?JBUILDER吗?
hhccl 2003-05-18
  • 打赏
  • 举报
回复
"MainWin.java": Error #: 454 : class JICQ.MainWin should be declared abstract; it does not define method run() in interface java.lang.Runnable at line 244, column 8

WHY?
ouyangzg 2003-05-18
  • 打赏
  • 举报
回复
我试过了,能登陆,能注册,就是不能互发信息。你能互发信息吗?能告诉我要修该什么吗??
谢谢

*^_^*
Hodex 2003-05-18
  • 打赏
  • 举报
回复
看得晕死我了
不懂
zez 2003-05-18
  • 打赏
  • 举报
回复
我也下了,而且自己也改了一些,没发现问题呀 !
ouyangzg 2003-05-17
  • 打赏
  • 举报
回复
//在列表中显示
for(int i=0;i<nickname.size();i++){
mm.addElement(new Object[]{nickname.get(i),sex.get(i),place.get(i)});
}//for

}catch(IOException e4){System.out.println("false");}
}
//显示查找好友菜单
void list2_mousePressed(MouseEvent e) {
findmenu.show(this,e.getX()+20,e.getY()+50);

}
/////////////add frined
//以下将添加的好友存储在临时矢量
void add_mousePressed(MouseEvent e) {
//add friend to database
int dd;
dd=list2.getSelectedIndex();
tmpjicq.add(jicq.get(dd));
tmpname.add(nickname.get(dd));
tmpip.add(ip.get(dd));
tmppic.add(pic.get(dd));
tmpstatus.add(status.get(dd));
tmpemail.add(emails.get(dd));
tmpinfo.add(infos.get(dd));
//以下向服务器发送添加好友请求
out.println("addfriend");
out.println(jicq.get(dd));
out.println(myid);
try{ //以下告诉客户将其加为好友
String whoips;
String s="oneaddyou"+myid;
s.trim();
System.out.println(s);
byte[] data=s.getBytes();
whoips=ip.get(dd).toString().trim();
sendPacket=new
DatagramPacket(data,s.length(),InetAddress.getByName(whoips),sendPort);
sendSocket.send(sendPacket);

} catch(IOException e2){e2.printStackTrace();}
//}catch(IOException df){};

}
/////////////add friend end
}
//以下扩展DefaultListModel类建立列表
class FindListModel extends DefaultListModel
{ public FindListModel(Vector nickname,Vector sex,Vector place)
{ for(int i=0;i<nickname.size();++i){
addElement(new Object[]{nickname.get(i),sex.get(i),place.get(i)});
}
}
public String getName(Object object)
{ Object[] array=(Object[])object;
return(String) array[0];
}
public String getSex(Object object)
{ Object[] array=(Object[]) object;
return (String) array[1];
}
public String getPlace(Object object)
{ Object[] array=(Object[])object;
return (String) array[2];

}
}
class FindListCellRenderer extends JLabel implements ListCellRenderer//以下是处理列表渲染
{ private Border lineBorder=BorderFactory.createLineBorder(Color.red,2),
emptyBorder =BorderFactory.createEmptyBorder(2,2,2,2);
public FindListCellRenderer(){
setOpaque(true);
}
public Component getListCellRendererComponent(JList list,Object value,int index,
boolean isSelected,boolean cellHasFocus)
{ FindListModel model=(FindListModel) list.getModel();
setText(model.getName(value)+" "+model.getSex(value)+" "+model.getPlace(value));
if(isSelected){setForeground(list.getSelectionForeground());
setBackground(list.getSelectionBackground());
}
else { setForeground(list.getForeground());
setBackground(list.getBackground());}
if(cellHasFocus) setBorder(lineBorder);
else setBorder(emptyBorder);
return this;
}
}
//以下是主程序
public class MainWin extends JFrame implements Runnable{
JPanel contentPane;
///////////////////////////friendinfo
//以下是好友基本信息变量,比如呢称,ip地址等
Vector friendnames=new Vector();
int friendnum;//friend number
private String [] picsonline=new String []{
"1.jpg","3.jpg","5.jpg","7.jpg"};
private String [] picsoffline=new String[]{
"2.jpg","4.jpg", "6.jpg","8.jpg"};
Vector friendjicq=new Vector();
Vector udpport=new Vector();
Vector friendips=new Vector();
Vector friendemail=new Vector();
Vector friendinfo=new Vector();
Vector picno=new Vector();
Vector status=new Vector();
// Vector pic=new Vector();
//以下是临时变量保存临时的好友
Vector tempname=new Vector();
Vector tempjicq=new Vector();
Vector tempip=new Vector();
Vector temppic=new Vector();
Vector tempstatus=new Vector();
Vector whoaddmesip=new Vector();//get whoaddme as friend
Vector tempemail=new Vector();
Vector tempinfo=new Vector();
int index;//get list index
int index3;//get firiend onlineinfo
int index4;//get message from info
boolean fromunknow=false;
//以下建立窗口类
FindFriend2 findf;
JDialog hello=new JDialog();
JDialog OneAddyou=new JDialog();
JDialog DirectAdd=new JDialog();
int tempgetjicq;//get the tempgetjicq
/////////////////////////////friend info
//以下是程序界面的变量
ImageIcon icon1=new ImageIcon("cab_small.gif");
ImageIcon icon6=new ImageIcon("sun_small.gif");
JButton jButton1 = new JButton();
JButton direct = new JButton();
JLabel info=new JLabel();
JDialog about=new JDialog();
JDialog senddata=new JDialog();
JDialog getdata=new JDialog();
JButton ok=new JButton();
JPopupMenu jPopupMenu1 = new JPopupMenu();
JMenuItem sendmessage = new JMenuItem();
JMenuItem getmessage = new JMenuItem();
JMenuItem lookinfo = new JMenuItem();
JMenuItem chatrecord = new JMenuItem();
JLabel name = new JLabel();
JTextField nametext = new JTextField();
JLabel icq = new JLabel();
JTextField icqno = new JTextField();
JButton send = new JButton();
JButton cancel = new JButton();
JTextArea sendtext = new JTextArea();
JList list;
JLabel jLabel2 = new JLabel();
JButton find = new JButton();
FlowLayout flowLayout1 = new FlowLayout();
//*************net
//以下是网络相关变量
Socket socket;
BufferedReader in;
PrintWriter out;
DatagramPacket sendPacket,receivePacket;
DatagramSocket sendSocket,receiveSocket;
int udpPORT=5001;//
int sendPort=5000;//单机调试请改动这里,谢谢!!!!!
String server;
int serverport;
byte array[]=new byte[512];
Thread thread;
int myjicq;
String received;
////以下是程序界面的变量
JLabel jLabel3 = new JLabel();
JTextField getfromname = new JTextField();
JLabel jLabel4 = new JLabel();
JTextField getfromjicq = new JTextField();
JTextArea getinfo = new JTextArea();
JButton getok = new JButton();
String theip;
JButton update = new JButton();
JMenuItem delfriend = new JMenuItem();
JButton myinfo = new JButton();
JButton online = new JButton();
JLabel jLabel1 = new JLabel();
JTextField helloname = new JTextField();
JLabel jLabel5 = new JLabel();
JTextField hellojicq = new JTextField();
JLabel jLabel6 = new JLabel();
JTextField helloemail = new JTextField();
JLabel jLabel7 = new JLabel();
JTextArea helloinfo = new JTextArea();
JButton jButton3 = new JButton();
JButton hellook = new JButton();
JLabel jLabel8 = new JLabel();
JLabel jLabel9 = new JLabel();
JLabel jLabel10 = new JLabel();
JLabel oneaddme = new JLabel();
JButton addit = new JButton();
JButton iknow = new JButton();
JLabel jLabel11 = new JLabel();
JLabel jLabel12 = new JLabel();
JTextField friendid = new JTextField();
JButton directaddok = new JButton();
ouyangzg 2003-05-17
  • 打赏
  • 举报
回复
3.//MainWin.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.util.Vector;
import java.net.*;
import java.io.*;
class FindFriend2 extends JFrame {//查找好友类
JLabel jLabel1 = new JLabel();
JButton find2 = new JButton();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
JList list2;
///////////////////以下是好友的呢称,性别等信息
Vector nickname=new Vector();
Vector sex=new Vector();
Vector place=new Vector();
Vector jicq=new Vector();
Vector ip=new Vector();
Vector pic=new Vector();
Vector status=new Vector();
Vector emails=new Vector();
Vector infos=new Vector();
//以下临时保存好友的呢称,性别等信息
Vector tmpjicq=new Vector();//jicqid
Vector tmpname=new Vector();//jicqname
Vector tmpip=new Vector();//ip
Vector tmppic=new Vector();//pic info
Vector tmpstatus=new Vector();//status
Vector tmpemail=new Vector();
Vector tmpinfo=new Vector();
//以下创建网络相关变量
Socket socket;
BufferedReader in;
PrintWriter out;
int myid;
String serverhost;
int servport;
DatagramPacket sendPacket;
DatagramSocket sendSocket;
int sendPort=5000;
//////////////////
JPopupMenu findmenu = new JPopupMenu();
JMenuItem look = new JMenuItem();
JMenuItem add = new JMenuItem();
public FindFriend2(int whoami,String host,int port) {//查找好友类构造函数
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
serverhost=host;
servport=port;
myid=whoami;
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}//以下与服务器连接
try{socket=new Socket(InetAddress.getByName(serverhost),servport);

in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
out=new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),true);
sendSocket=new DatagramSocket();
}catch(IOException e1){}
}
private void jbInit() throws Exception {//以下是程序界面
jLabel1.setText("下面是在线的朋友");
jLabel1.setBounds(new Rectangle(11, 11, 211, 18));
this.getContentPane().setLayout(new FlowLayout());
find2.setText("查找");
find2.setBounds(new Rectangle(8, 289, 79, 29));
find2.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
find2_mouseClicked(e);
}
});
jButton1.setText("next");
jButton1.setBounds(new Rectangle(110, 288, 79, 29));
jButton2.setText("up");
jButton2.setBounds(new Rectangle(211, 285, 79, 29));
jButton3.setText("cancel");
jButton3.setBounds(new Rectangle(317, 289, 79, 29));
// nickname=new Vector();
// sex=new Vector();
// place=new Vector();
ListModel model=new FindListModel(nickname,sex,place);//列表模型
ListCellRenderer renderer=new FindListCellRenderer();
list2=new JList(model);
list2.setSize(200,200);
list2.setBackground(new Color(255, 255, 210));
list2.setAlignmentX((float) 1.0);
list2.setAlignmentY((float) 1.0);
list2.setCellRenderer(renderer);
list2.setVisibleRowCount(7);
list2.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
list2_mousePressed(e);
}
});
look.setText("查看资料");
add.setText("加为好友");
add.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
add_mousePressed(e);
}
});
this.getContentPane().add(jLabel1, null);
this.getContentPane().add(new JScrollPane(list2));
this.getContentPane().add(find2, null);
this.getContentPane().add(jButton1, null);
this.getContentPane().add(jButton2, null);
this.getContentPane().add(jButton3, null);
findmenu.add(look);
findmenu.add(add);
}//以下是关闭本窗口
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
//this.dispose();
this.hide();
}
}

//以下向服务器发送查找好友请求
void find2_mouseClicked(MouseEvent e) {
out.println("find");
DefaultListModel mm=(DefaultListModel)list2.getModel();
/////////////////find friend info
try{
String s=" ";
//从服务器读取好友信息
do{ s=in.readLine();
if(s.equals("over")) break;
nickname.add(s);
sex.add(in.readLine());
place.add(in.readLine());
ip.add(in.readLine());
emails.add(in.readLine());
infos.add(in.readLine());
}while(!s.equals("over"));
/////////////end find info
//read their jicqno
int theirjicq,picinfo,sta;
for(int x=0;x<nickname.size();x++){
theirjicq=Integer.parseInt(in.readLine());
//System.out.println(theirjicq);
jicq.add(new Integer(theirjicq));
picinfo=Integer.parseInt(in.readLine());
pic.add(new Integer(picinfo));
sta=Integer.parseInt(in.readLine());
//System.out.println(sta);
status.add(new Integer(sta));
//System.out.println(jicq.get(x));
}
ouyangzg 2003-05-17
  • 打赏
  • 举报
回复
2.//Register.java如下

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.border.*;
public class Register extends JDialog {//新建用户类
//以下创建程序界面
JPanel panel1 = new JPanel();
JLabel jLabel1 = new JLabel();
JTextField nickname = new JTextField();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JPasswordField password = new JPasswordField();
JLabel jLabel4 = new JLabel();
JTextField email = new JTextField();
JLabel jLabel5 = new JLabel();
JLabel jLabel6 = new JLabel();
JTextPane info = new JTextPane();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JLabel jLabel7 = new JLabel();
JRadioButton boy = new JRadioButton();
JRadioButton girl = new JRadioButton();
JLabel jLabel8 = new JLabel();
JComboBox place = new JComboBox();
JComboBox headpic = new JComboBox();
//***************************
private String[] pics = new String[] {//头像
"1.jpg", "3.jpg",
"5.jpg", "7.jpg"};
String sername;//服务器名
int serverport;//服务器端口

public Register(String s,int port) {//构造函数
sername=s;
serverport=port;
try {
jbInit();//创建窗口
pack();
}
catch(Exception ex) {
ex.printStackTrace();}
//this(null, "", true);
}
void jbInit() throws Exception {//创建窗口
panel1.setLayout(null);
this.getContentPane().setLayout(null);
panel1.setMaximumSize(new Dimension(200, 200));
panel1.setMinimumSize(new Dimension(200, 100));
panel1.setBounds(new Rectangle(-2, 0, 419, 452));
this.setTitle("register");
jLabel1.setText("昵称");
jLabel1.setBounds(new Rectangle(9, 45, 41, 18));
nickname.setBounds(new Rectangle(50, 44, 128, 22));
jLabel2.setText("请填写以下内容");
jLabel2.setBounds(new Rectangle(9, 9, 103, 18));
jLabel3.setText("密码");
jLabel3.setBounds(new Rectangle(200, 44, 41, 18));
password.setBounds(new Rectangle(247, 42, 100, 22));
jLabel4.setText("电子邮件");
jLabel4.setBounds(new Rectangle(2, 102, 58, 18));
email.setBounds(new Rectangle(55, 96, 124, 22));
jLabel5.setText("头像");
jLabel5.setBounds(new Rectangle(193, 96, 51, 18));
//***************
ComboBoxModel model = new HeadPicCombobox(pics);

ListCellRenderer renderer = new HeadpicCellRenderer();

jLabel6.setText("个人资料");
jLabel6.setBounds(new Rectangle(6, 189, 87, 18));
info.setBounds(new Rectangle(5, 208, 363, 103));
jButton1.setText("确定");
jButton1.setBounds(new Rectangle(147, 330, 79, 29));
jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
jButton1_mouseClicked(e);
}
});
jButton2.setText("取消");
jButton2.setBounds(new Rectangle(260, 329, 79, 29));
jLabel7.setText("性别");
jLabel7.setBounds(new Rectangle(9, 156, 41, 18));
boy.setText("男");
boy.setBounds(new Rectangle(43, 152, 38, 26));
girl.setText("女");
girl.setBounds(new Rectangle(80, 152, 36, 26));
jLabel8.setText("来自");
jLabel8.setBounds(new Rectangle(147, 154, 41, 18));
place.setToolTipText("");
place.addItem("四川");
place.addItem("重庆");
place.setBounds(new Rectangle(181, 153, 163, 22));
headpic.setBounds(new Rectangle(249, 91, 71, 28));
headpic.setModel(model);
headpic.setRenderer(renderer);
this.getContentPane().add(jButton1, null);
this.getContentPane().add(panel1, null);
panel1.add(jLabel2, null);
panel1.add(jLabel1, null);
panel1.add(nickname, null);
panel1.add(jLabel3, null);
panel1.add(password, null);
panel1.add(jLabel4, null);
panel1.add(email, null);
panel1.add(jLabel5, null);
panel1.add(info, null);
panel1.add(jButton2, null);
panel1.add(jLabel6, null);
panel1.add(jLabel7, null);
panel1.add(boy, null);
panel1.add(jLabel8, null);
panel1.add(girl, null);
panel1.add(place, null);
panel1.add(headpic, null);
}

void jButton1_mouseClicked(MouseEvent e) {
try{ System.out.println(sername);
System.out.println(serverport);
Socket socket=new Socket(InetAddress.getByName(sername),serverport);//连接服务器

BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out=new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),true);
out.println("new");//发送新建用户请求
out.println(nickname.getText().trim());//发送呢称等信息
out.println(password.getPassword());
out.println(email.getText().trim());
out.println(info.getText().trim());
out.println(place.getSelectedItem());
out.println(headpic.getSelectedIndex());//head picindex
int no;
no=Integer.parseInt(in.readLine());
System.out.print(no);

String str=" ";
//do{
str=in.readLine().trim();//从服务器读取信息
//如果出错
if(str.equals("false")) JOptionPane.showMessageDialog(this,"对不起,出错了:-(","ok",JOptionPane.INFORMATION_MESSAGE);
else{//如果成功就告诉用户其号码
JOptionPane.showMessageDialog(this,"your javaicq#is"+no,"ok",JOptionPane.INFORMATION_MESSAGE);

this.dispose();//并打开主窗口
MainWin f2=new MainWin(no,sername,serverport);
f2.setVisible(true);}
//System.out.println("\n");
//}while(!str.equals("ok"));
// socket.close();
}catch(IOException e1){}

}
}
class HeadPicCombobox extends DefaultComboBoxModel {//头象列表类
public HeadPicCombobox(String[] pics) {
for(int i=0; i < pics.length; ++i) {

addElement(new Object[] { new ImageIcon(pics[i]) } );
}
}

public Icon getIcon(Object object) {
Object[] array = (Object[])object;
return (Icon)array[0];
}
}
class HeadpicCellRenderer extends JLabel implements ListCellRenderer {
private Border
lineBorder = BorderFactory.createLineBorder(Color.red, 2),
emptyBorder = BorderFactory.createEmptyBorder(2,2,2,2);

public HeadpicCellRenderer() {
setOpaque(true);
}
public Component getListCellRendererComponent(JList list,Object value,int index,boolean isSelected,boolean cellHasFocus) {
HeadPicCombobox model =(HeadPicCombobox)list.getModel();

setIcon(model.getIcon(value));

if(isSelected) {
setForeground(list.getSelectionForeground());
setBackground(list.getSelectionBackground());
}
else {
setForeground(list.getForeground());
setBackground(list.getBackground());
}

if(cellHasFocus) setBorder(lineBorder);
else setBorder(emptyBorder);

return this;
}
}

JICQ——Java即通讯工具 ————供广大网友赏析 (0.61更新与补充说明版本说明) 近来忽闻,我的JICQ在CSDN上得到发布,惊喜之余,深表惭愧。喜的是:真没想到,我的JICQ居然会在CSDN的首页上出现。愧的是:我的QQ还有诸多功能尚未完善,却得到广大网友的错爱。这些将是我继续完善我的JICQ的强大动力! 今天发布一些关于JICQ在使用的注意事项、补充说明、与一个更新版本(0.61)。 我的JICQ其实已经被我改动了一下,让它更合理一些。只是由于一些原因,没有发布,我现在马上发布到CSDN上。 改动如下: 1. 我已经去掉了JMF,那个东西太大了,本来只有几百K的程序因为它,一下子变成了接近2兆,对广大拨号上网的用户来说,实在太可怕了。 2. 对JICQServer启动命令行做了改动(在注意事项中说明)。 补充说明: 1. 关于跨平台能力:这本来是我用Java写这个ICQ工具的初衷,但由于本人只熟悉Windows平台,对其他系统不了解,虽然编译出了程序,但也不知道怎样来测试,如果有网友给与提供相关信息,我将感激不尽。 虽然我使用的SQL Server2000,但我的数据库结构比较简单,对数据库的查询使用的也是标准SQL——也是为了将来跨平台更容易些,所以可以使用其他数据库系统,我没试过,但我想应该可以。 2. 关于未完善之功能:由于间、心情等原因,JICQ尚未完善,但毕竟已见雏形,我写这个东西,也只是一个偶然的机会,我现在正在考虑公开其代码。 3. 关于公开代码:我打算将源代码与完整的设计文档共享,以供广大网友学习Java使用。只是,现在机尚未成熟,我也希望尽快给大家一个惊喜。 4. 关于Bug问题 由于间较短,许多细节没有完善,不是我没有能力去写,只是现在太忙,没有精力。对于不完善的地方,请大家多多包涵。未完成之功能请参考提示1、2。 现仍寻求提示2中的解决方案。 注意事项: 1. 服务器端JICQ数据库,我采用的是MS SQL Server2000,数据库名称为JavaICQ,ODBC数据源名称为JavaICQ。 2. 服务器端JICQ启动命令行: JICQServer 用户名与密码分别为数据库系统的有效用户与密码 例:JICQServer sa 123 客户端JICQ需要在JVM或者JDK1.3.1的版本,千万不要在1.4.0的版本上运行,因为我发现在1.4.0以上运行Swing界面不好用。 提示1:未完成之功能列表(不是我不想写,只是没间)。 1. 不支持“黑名单”功能。 2. 添加好友,不向对方反馈消息,不提供身份校验。 3. 离线消息收发。 4. 聊天记录的管理。 5. 个人信息的管理等。 提示2:寻找解决方案 1. 服务器端JICQ的管理功能,比如系统管理员的日常维护、信息发布等功能。 2. 消息的加密措施,防止非法用户的恶意破解。 3. 客户端JICQ的本地聊天记录文件管理,希望能够找到安全性较高,效率也比较高的库管理方式。
JICQ――Java即通讯工具――――供广大网友赏析 (0.61更新与补充说明版本说明)近来忽闻,我的JICQ在CSDN上得到发布,惊喜之余,深表惭愧。喜的是:真没想到,我的JICQ居然会在CSDN的首页上出现。愧的是:我的QQ还有诸多功能尚未完善,却得到广大网友的错爱。这些将是我继续完善我的JICQ的强大动力!今天发布一些关于JICQ在使用的注意事项、补充说明、与一个更新版本(0.61)。我的JICQ其实已经被我改动了一下,让它更合理一些。只是由于一些原因,没有发布,我现在马上发布到CSDN上。改动如下:1. 我已经去掉了JMF,那个东西太大了,本来只有几百K的程序因为它,一下子变成了接近2兆,对广大拨号上网的用户来说,实在太可怕了。2. 对JICQServer启动命令行做了改动(在注意事项中说明)。补充说明:1. 关于跨平台能力:这本来是我用Java写这个ICQ工具的初衷,但由于本人只熟悉Windows平台,对其他系统不了解,虽然编译出了程序,但也不知道怎样来测试,如果有网友给与提供相关信息,我将感激不尽。虽然我使用的SQL Server2000,但我的数据库结构比较简单,对数据库的查询使用的也是标准SQL――也是为了将来跨平台更容易些,所以可以使用其他数据库系统,我没试过,但我想应该可以。2. 关于未完善之功能:由于间、心情等原因,JICQ尚未完善,但毕竟已见雏形,我写这个东西,也只是一个偶然的机会,我现在正在考虑公开其代码。3. 关于公开代码:我打算将源代码与完整的设计文档共享,以供广大网友学习Java使用。只是,现在机尚未成熟,我也希望尽快给大家一个惊喜。4. 关于Bug问题由于间较短,许多细节没有完善,不是我没有能力去写,只是现在太忙,没有精力。对于不完善的地方,请大家多多包涵。未完成之功能请参考提示1、2。现仍寻求提示2中的解决方案。注意事项:1. 服务器端JICQ数据库,我采用的是MS SQL Server2000,数据库名称为JavaICQ,ODBC数据源名称为JavaICQ。2. 服务器端JICQ启动命令行:JICQServer <用户名> <密码>用户名与密码分别为数据库系统的有效用户与密码例:JICQServer sa 123客户端JICQ需要在JVM或者JDK1.3.1的版本,千万不要在1.4.0的版本上运行,因为我发现在1.4.0以上运行Swing界面不好用。提示1:未完成之功能列表(不是我不想写,只是没间)。1. 不支持“黑名单”功能。2. 添加好友,不向对方反馈消息,不提供身份校验。3. 离线消息收发。4. 聊天记录的管理。5. 个人信息的管理等。提示2:寻找解决方案1. 服务器端JICQ的管理功能,比如系统管理员的日常维护、信息发布等功能。2. 消息的加密措施,防止非法用户的恶意破解。3. 客户端JICQ的本地聊天记录文件管理,希望能够找到安全性较高,效率也比较高的库管理方式。Snowing Ximen2003-7-29SnowingXimen@163.com

67,541

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧