我来问一个简单的问题,可是我就是不会:)

aboutagirl 2002-01-09 07:22:30
下面这一段程序编译不能通过,想不通:)


import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.net.*;

public class AppletTest1 extends Applet
{
private AppletContext context;
private AudioClip audio;
private TextField tf;
private Button btPlay,btBrowse;
private TextArea ta;
private boolean pause;

public void init()
{
setLayout(new GridLayout(3,1));
context=getAppletContext();
Panel p1=new Panel();
Panel p2=new Panel();
Panel p3=new Panel();
p3.setLayout(new BorderLayout());
p1.add(new Label("URL: "));
p1.add(tf=new TextField(getParameter("location")));
p2.add(btPlay=new Button("Play"));
p2.add(btBrowse=new Button("Browse"));
ActionListen act=new ActionListen(this);
btPlay.addActionListener(act);
btBrowse.addActionListener(act);
ta=new TextArea(null,10,20,TextArea.SCROLLBARS_VERTICAL_ONLY);
p3.add(ta,BorderLayout.CENTER);
add(p1);
add(p2);
add(p3);
ta.append("Applet initialized\n");
pause=false;
}

public void start()
{
ta.append("Applet started\n");
if (pause)
{
pause=false;
playAudio();
}
}

public void stop()
{
ta.append("Applet stopped\n");
if (btPlay.getLabel().compareTo("STOP")==0)
{
stopAudio();
pause=true;
}
}

public void playAudio()
{
try
{
audio=getAudioClip(new URL(tf.getText()));
audio.loop();
btPlay.setLabel("STOP");
}
catch (MalformedURLException e)
{
ta.append("Wrong URL......");
}
}

public void stopAudio()
{
btPlay.setLabel("PLAY");
audio.stop();
}

public void browse()
{
try
{
context.showDocument(new URL(tf.getText()),"_blank");
}
catch (MalformedURLException e)
{
ta.append("Wrong URL......");
}
}

class ActionListen implements ActionListener
{
private AppletTest1 applet; //建立与AppletTest1的沟通

public void ActionListen(AppletTest1 app)
{
applet=app;
}

public void actionPerformed(ActionEvent e)
{
String label=((Button)e.getSource()).getLabel();
if (label.compareTo("PLAY")==0)
applet.playAudio();
else if (label.compareTo("BROWSE")==0)
applet.browse();
else
applet.stopAudio();
}
}
}
...全文
67 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
0legend 2002-01-10
  • 打赏
  • 举报
回复
ActionListen act=new ActionListen();
act.ActionListen(this);

waterdragonfly 2002-01-10
  • 打赏
  • 举报
回复
Constructors are different from normal methods in some important ways:
1.The method name is the same as the class name.
2.There is no return type.
3.Constructors can't be inherited as other superclass methods are.
4.The constructor method can't be final,abstract,synchronized,native,or static
jin2001 2002-01-09
  • 打赏
  • 举报
回复
class ActionListen implements ActionListener
{
private AppletTest1 applet; //建立与AppletTest1的沟通

//public void ActionListen(AppletTest1 app)

public ActionListen(AppletTest1 app)
{
applet=app;
}
.......................................
构造函数没有返回值

trivita 2002-01-09
  • 打赏
  • 举报
回复
我弄不明白,你为什么不这样做:
public class AppletTest1 extends Applet implements ActionListener{
...
dragonwind 2002-01-09
  • 打赏
  • 举报
回复
报什么错误呢?

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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