| 发表于:2007-04-03 22:13:296楼 得分:0 |
谢谢各位的热心回帖,试了很多方法都不行 class bufferget extends thread { buffer buf; socket client; private resultprocessor processor; bufferget(resultprocessor processor,buffer buf,socket client) { this.processor = processor; this.client=client; this.buf=buf; } public void run() { while(true) { string result=this.buf.get(); system.out.println( "incept: --> "+result); processor.process(result); } } } 父类: interface resultprocessor { public void process(string result); } public class jappletui extends japplet implements resultprocessor { ... public void init() { jappletui appletui=new jappletui(); bufferget bfget=new bufferget(appletui,clientsocket); bfget.start(); } public void process(string result) { statelabel.settext(result);//在界面jlable显示某状态 agentstate= "0 "; change();//改变界面样式; } ... } 在执行到statelabel.settext(result);时报错(change();也会报): exception in thread "thread-4 " java.lang.nullpointerexception at jappletui.process(jappletui.java:79) at bufferget.run(socketclient.java:155)//这行processor.process(result); 有没有什么好办法能解决? 我现在把japplet的组件和change();方法都改为静态的就没问题了,但觉得这么做不是很好。 感觉把bufferget类做为内部类应该能行,但不知道怎么改,哪位朋友能帮帮忙?谢了! | | |
|