【问题标题】:Java Applet Commented Applet TagJava Applet 注释的 Applet 标签
【发布时间】:2017-03-25 00:40:40
【问题描述】:

我是小程序的新手,遇到了一些不寻常的事情。在我经历的一个程序中,applet html tagApplet Java file (.java) 中作为评论被提及,但评论似乎正在执行。这怎么可能?

代码:

    import java.awt.*;

    import java.applet.*;

/*<applet code="MyApplet" width=100 height=50></applet> */ 

   //why we give comment here and how it is executed ?? 

     class MyApplet extends  Applet 
    {
    public void paint(Graphics g)
    {
    g.drawString("A Simple Applet",100,100);

     }
  }

评论: /*&lt;applet code="MyApplet" width=100 height=50&gt;&lt;/applet&gt; */ 

上面的评论是如何被执行的? cmets 不是要被跳过吗?

为什么 Oracle 或任何其他网站上没有提到这种方法? 甚至 Oracle 也要求创建单独的 HTML 文件。那么这种方法是否使用一些 3rd 方库来执行评论?

当我不公开课程以及保持文件和课程名称不同时,我也会收到错误消息。

有人可以解释一下这个方法吗?我用谷歌搜索了很多,但找不到关于这种在评论中包含标签的方法的解释。 SO上有一个帖子,但答案并不重要。请帮忙。

有人怎么会意外地发现这是可能的?这是 Applet 类的任何特殊功能吗?

【问题讨论】:

  • 我认为appletviewer MyApplet.javaMyApplet.java 解析为HTML,它会忽略不支持的元素,例如import java.awt.*;docs.oracle.com/javase/7/docs/technotes/tools/…
  • @Zakki 非常感谢。该链接说appletviewer 识别与运行applet 相关的HTML。 But how does it override the usual mechanism of skipping the comment lines? 也解析 cmets 吗?
  • “但是它是如何覆盖跳过注释行的通常机制的呢?” 您考虑的是编译器,而不是小程序查看器。不同的工具以不同的方式工作。 “它也解析 cmets 吗?” AFAIU applet 查看器只解析 Java 源代码(注意,源代码,而不是二进制文件)直到类定义。按照设计,它忽略任何不在注释中的代码,并且只检查注释代码中可能的小程序标签。这个新功能是在 Java 1.7 或 1.6 AFAIR 中引入的。所以是的,就像@zakki 建议的那样。
  • @AndrewThompson 我没有明白这一点——“按照设计,它会忽略任何不在评论中的代码”。这是否意味着它只查找cmets,然后进一步选择带有applet标签的cmets?
  • 我愿意,但前提是@zakki 想要发布答案(如果您愿意,请随意引用或改写我的 cmets 中的任何内容,只要您认为合适)。我认为他们比我得到了正确的答案(并且更好,给出了链接)。

标签: java html applet comments appletviewer


【解决方案1】:

但它是如何覆盖跳过注释行的通常机制的呢?

您考虑的是编译器,而不是小程序查看器。不同的工具以不同的方式工作。

它也解析 cmets 吗?

AFAIU 小程序查看器仅解析 Java 源代码(注意,源代码,而不是二进制文件)直到类定义。按照设计,它会忽略任何不在注释中的代码,并仅检查注释代码中可能的小程序标记。这个新功能是在 Java 1.7 或 1.6 AFAIR 前后引入的。

我没有明白这一点 -'按照设计,它会忽略任何不在评论中的代码'。这是否意味着它只查找cmets,然后进一步选择带有applet标签的cmets?

对不起,现在你重复给我,不清楚。 “这是否意味着它只查找 cmets,然后进一步选择带有 applet 标签的 cmets?” 是的。谢谢,这是表达我的意思的更好方式。

我将通过添加 @zakki 的一些 cmets 来结束,我认为这些 cmets 信息量太大,无法隐藏在 cmets 部分中:

@zakki:我认为appletviewer MyApplet.javaMyApplet.java 解析为HTML,它会忽略不支持的元素,例如import java.awt.*;AppletViewer Tags

@zakki:似乎appletviewer 只是将输入作为令牌流处理,它不关心 java/html 语法。 gist.github.com/zakki/b5176a7d37fa3938f0646d11d9bd01a5

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-08
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    相关资源
    最近更新 更多