java中写Applet小程序的问题,使用Eclipse集成开发工具.程序没有错误,可以运行,但是在public class 后面的类名有下划线,显示一个警告,“The serializable class Myplayer does not declare a static final serialVersionUID field of type long”.
部分代码:
import java.awt.*;
import java.applet.*;
public class Myplayer extends Applet{
String file="不可一世.au";
AudioClip clip;
Button b1,b2,b3;
Choice choice=new Choice();
public void init(){
setSize(400,50);
choice.add(file); //设置可拉框,显示当前播放的歌名
add(choice);
b1=new Button("start"); //设置三个按钮,分别为start,loop,stop.
b2=new Button("loop");
b3=new Button("stop");
add(b1);
add(b2);
add(b3);
clip=this.getAudioClip(getDocumentBase(),file);//取得声音文件
}
这到底是什么意思,怎么可以解决.?
人气:302 ℃ 时间:2020-03-28 06:57:32
解答
这个警告是提示你要实现序列化.Applet需要在网络上进行传输(对象会离开内存),所以需要实现序列化,以便用户在接收时通过反序列化就可以将你传输的对象重新在内存中还原.请问怎样才能实现序列化???Applet的父类public abstract class Component implements ImageObserver, MenuContainer, Serializable{已经实现过序列化Serializable了,这里只是需要一个对象的标识,public class Myplayer extends Applet{private static final long serialVersionUID = 1L; //这个是缺省的或者 private static final long serialVersionUID = -8534844170998963067L; //自动生成的。这两句随便写一个都行或者@SuppressWarnings("serial")public class AudioApplet extends Applet{不要写个注解忽略这个警告
推荐
猜你喜欢
- 先以60km/h速度走平路,后又以30km/h速度爬坡,共用6.5h;原路返回时,又以40km/h速度下坡,又以50km/h走
- 已知f(x)为定义在[-1,1]上的奇函数,且在定义域内为增函数,若f(1-t)+f(1-2t)
- 怎样检验氢气中有没有水蒸气
- a大于b 则a的平方大于b的平方 是真命题吗?它的否命题是真命题还是假命题
- -
- 一篇英语作文,500词左右,主题:I and my dream 限时:2008-08-16
- 已知方程12(x+1)=7(Y-1)1,写出用y表示x的式子 2,写出方程的四个解
- 我们在月球上看到的日,月,地三者的位置如下图所示,参照月相的命名法,在A点你能看到的的"地相"是