编译java文件时出现以下提示:'class' or 'interface' expected public boolean action(Event e,Object o)

bilit2008 2006-12-23 10:45:23
代码如下:
import java.awt.*;

public class GraphicsAppletInOut
{
public static void main(String args[])
{
AppletFrame MyFrame = new AppletFrame();
}
}

class AppletFrame extends Frame
{
Label prompt;
TextField input;
Label output;

AppletFrame()
{
super("Application Graphics Frame");
setLayout(new FlowLayout());
prompt = new Label("Enter a character please:");
input = new TextField(4);
output = new Label(" ");
add(prompt);
add(input);
add(output);
pack();
show();
}
}

public boolean action(Event e,Object o)
{
output.setText("You've entered character "+o.toString());
return true;
}

public boolean handleEvent(Event e)
{
if(e.id == Evend.WINDOWN_DESTROY)
System.exit(0);
return super.handleEvent(e);
}


然后编译
javac GraphicsAppletInOut.java
GraphicsAppletInOut.java:32:''class' or 'interface' expected public boolean action(Event e,Object o)

请问哪里出错了,小弟是新手,刚学java不久
先谢过了
...全文
362 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bilit2008 2006-12-24
  • 打赏
  • 举报
回复
谢谢各位,已经找到了解决的方法

   show();
   }
  }
  
  把第二个}放到这个文件的最后一行

然后就可以成功编译了,并可以运行了。(尽管中间出现了警告:使用了过时的API)
hbyufan 2006-12-24
  • 打赏
  • 举报
回复
开始学的时候不要急,慢慢来,有错不要急着问人。个人建议
千里冰封820 2006-12-24
  • 打赏
  • 举报
回复
括号不匹配吧
mavina 2006-12-24
  • 打赏
  • 举报
回复
是不是用了过时的API?
show()改成setVisible(true)试试看
bilit2008 2006-12-24
  • 打赏
  • 举报
回复
楼上的那个程序在我的机子上编译时出现一下提示:
Note:GraphicAppletInOut.java uses or overrides a deprecated API.
Note:Recompile with -deprecation for details
bilit2008 2006-12-24
  • 打赏
  • 举报
回复
首先,谢谢楼上两位的回答。
有个情况想说一下,这个程序是书上的,我安装的是j2sdk1.4.2_13(因为这本书出来的时候,还没j2sdk1.5.0)。
在提问之前,我已经在baidu和google上搜索了一下,但没有答案。
jayfantsy 2006-12-24
  • 打赏
  • 举报
回复
对照下课本看看.
方法是应该放在类或者接口中的,不可以单独例出来..
想想怎么讲的..java程序是由类组成的...而不action(){}函数直接构成的..
java_augur 2006-12-23
  • 打赏
  • 举报
回复
问题很多,以下是可以运行的,自己对照一下吧

package test;
import java.awt.*;

public class GraphicAppletInOut
{
public static void main(String args[])
{
AppletFrame MyFrame = new AppletFrame();
}
}

class AppletFrame extends Frame
{
Label prompt;
TextField input;
Label output;

AppletFrame()
{
super("Application Graphics Frame");
setLayout(new FlowLayout());
prompt = new Label("Enter a character please:");
input = new TextField(4);
output = new Label(" ");
add(prompt);
add(input);
add(output);
pack();
show();
}

public boolean action(Event e,Object o)
{
output.setText("You've entered character "+o.toString());
return true;
}

public boolean handleEvent(Event e)
{
if(e.id == e.WINDOW_DESTROY)
System.exit(0);
return super.handleEvent(e);
}
}

62,615

社区成员

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

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