Article View: cn.bbs.comp.lang.java
Article #12218[���]�����java.lang.StackOverError!!
From: ��������
Date: Wed, 04 Aug 2004 02:12
Date: Wed, 04 Aug 2004 02:12
221 lines
7246 bytes
7246 bytes
�����ʱ��û������!
������ִ�е�ʱ��ͳ������쳣 : java.lang.StackOverError
��ʲô����!
�����ָ��!!
/*
* Created on 2003-11-21 by Liudong
*/
package jmsn.demo;
import rath.msnm.MSNMessenger;
import rath.msnm.SwitchboardSession;
import rath.msnm.UserStatus;
import rath.msnm.entity.MsnFriend;
import rath.msnm.event.MsnAdapter;
import rath.msnm.msg.MimeMessage;
import rath.msnm.KeyboardInput;
/**
* MSN��ʾ����
* @author Liudong
*/
public class MSNDaemon extends Thread {
private static MSNMessenger msn;
public static void main(String[] args) {
KeyboardInput in=new KeyboardInput();
System.out.print("�����ʺ�:");
String strid=in.readString();
System.out.print("��������:");
String strpw=in.readString();
msn = new MSNMessenger(strid,strpw);
msn.setInitialStatus(UserStatus.ONLINE);
msn.addMsnListener(new MSNAdapter(msn));
msn.login();
System.out.println("Waiting for the response....");
//��Ctrl+C�������Ա�ע��MSN�ĵ�¼
Runtime.getRuntime().addShutdownHook(new MSNDaemon());
}
/**
* �û���ֹ����ִ��
*/
public void run() {
msn.logout();
System.out.println("MSN Logout OK");
}
}
/**
* MSN��Ϣ�¼�������
* @author Liudong
*/
class MSNAdapter extends MsnAdapter {
MSNMessenger messenger;
caidan caidan1=new caidan();
public MSNAdapter(MSNMessenger messenger) {
this.messenger = messenger;
}
/**
* ij������������Ϣ
*/
public void progressTyping(
SwitchboardSession ss,
MsnFriend friend,
String typingUser) {
System.out.println(friend.getLoginName() + "����������Ϣ...");
}
/**
* �յ���Ϣ��ʱ��ִ�и÷���
*/
public void instantMessageReceived(
SwitchboardSession ss,
MsnFriend friend,
MimeMessage mime) {
KeyboardInput in=new KeyboardInput();
System.out.print("���յ���Ϣ��" + friend.getFriendlyName() + "->");
System.out.println(mime.getMessage());
System.out.print("�ظ�:");
String r=in.readString();
try {
mime.setMessage(r);
messenger.sendMessage(friend.getLoginName(), mime);
} catch (Exception e) {
e.printStackTrace();
}
caidan1.mymenu();
}
/**
* ��¼�ɹ���ִ�и÷���
*/
public void loginComplete(MsnFriend own) {
System.out.println(own.getLoginName() + " Login OK");
caidan1.mymenu();
}
/**
* ��¼ʧ�ܺ�ִ�и÷���
*/
public void loginError(String header) {
System.out.println("Login Failed: " + header);
}
/**
* ��������ʱִ�и÷���
*/
public void userOffline(String loginName) {
System.out.println("USER " + loginName + " Logout.");
caidan1.mymenu();
}
/**
* ��������ʱִ�и÷���
*/
public void userOnline(MsnFriend friend) {
System.out.println("USER "+friend.getFriendlyName()+" Login.");
caidan1.mymenu();
}
/**
* ���˼���Ϊ����ʱִ��
*/
public void whoAddedMe(MsnFriend friend) {
System.out.println("�û�" + friend.getLoginName() + "�����Ϊ����!!");
try {
messenger.addFriend(friend.getLoginName());
System.out.println("�Ѿ���" + friend.getLoginName() + "Ϊ����!!");
} catch (Exception e) {
e.printStackTrace();
}
caidan1.mymenu();
}
/**
* ���˰��ҴӺ����б���ɾ��ʱִ��
*/
public void whoRemovedMe(MsnFriend friend) {
System.out.println("�û� "+friend.getLoginName()+" ɾ������!!");
try {
messenger.removeFriend(friend.getLoginName());
} catch (Exception e) {
e.printStackTrace();
}
caidan1.mymenu();
}
}
class caidan{
MSNDaemon tuichu=new MSNDaemon();
zhudong zhudongcaozuo=new zhudong();
private int menuchoose;
public void mymenu(){
KeyboardInput input=new KeyboardInput();
do{
System.out.println("<1> ������Ϣ");
System.out.println("<2> ��Ӻ���");
System.out.println("<3> ɾ�����");
System.out.println("<4> �˳�");
System.out.print("��ѡ��(1~4):");
menuchoose=input.readInteger();
}while((menuchoose!=1)&&(menuchoose!=2)&&(menuchoose!=3)&&(menuchoose!=4));
switch(menuchoose){
case 1: zhudongcaozuo.iAddOther();
break ;
case 2: zhudongcaozuo.fasong();
break ;
case 3: /*���?��*/
break ;
case 4: tuichu.run();
break ;
default: System.out.println("��������룡��");
break ;
}
}
}
class zhudong{
caidan caidan2=new caidan();
KeyboardInput in=new KeyboardInput();
/**
* ����������Ϣ
*/
public void fasong(){
MimeMessage mi=new MimeMessage();
MSNMessenger sendMess=new MSNMessenger();
System.out.print("������:");
String sendId=in.readString();
System.out.print("��Ϣ:");
String reMess=in.readString();
try {
mi.setMessage(reMess);
sendMess.sendMessage(sendId, mi);
} catch (Exception e) {
e.printStackTrace();
}
caidan2.mymenu();
}
/**
* �������������
*/
public void iAddOther(){
KeyboardInput input=new KeyboardInput();
MSNMessenger addmess=new MSNMessenger();
System.out.print("������Ҫ��ӵ��û�:");
String addid=input.readString();
try {
addmess.addFriend(addid);
System.out.println("�Ѿ���" + addid + "Ϊ����!!");
} catch (Exception a) {
System.out.println("�Ѿ���Ϊ����!!");
a.printStackTrace();
System.out.println("�Ѿ���Ϊ����!!");
}
caidan2.mymenu();
}
}
--
��ȥ�Ǹ�������,�б���,�л��������Ѿ�����!
ȡ���֮���ǿջ�����������ϵ�һ���л���!
һ�е�һ�ж�ֻ���������ʱ������Ǵ��ڹ�!
����,����,������ô�ն��Ĵ���,�����ƺ�ûʲô��ϵ!
ֻ������������ҵ�Ψһ!
�ڻ�����,���Ի���Լ�!
[0;1;35m�� ��Դ:���ɽ��ˮ bbs.neu.edu.cn��[FROM: 202.118.7.74][m
Technical Details
Message-ID:
<4DUILU$C4_@bbs.neu.edu.cn>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!newsfeed.media.kyoto-u.ac.jp!news.neu.edu.cn!NEUShow Full Headers
Complete Article Headers
X-Google-Thread: f6cb0,6fbc39a115bd2a8c,start X-Google-Attributes: gidf6cb0,public X-Google-Language: Chinese,GB Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!newsfeed.media.kyoto-u.ac.jp!news.neu.edu.cn!NEU From: kwolf2003.bbs@bbs.neu.edu.cn (��������) Newsgroups: cn.bbs.comp.lang.java Subject: [���]��ô�����java.lang.StackOverError!! Date: 04 Aug 2004 02:12:30 GMT Organization: ��ɽ��ˮ Message-ID: <4DUILU$C4_@bbs.neu.edu.cn> Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: 8bit X-Filename: java/M.1091585550.A Lines: 221