【问题标题】:Java applet does not display anythingJava 小程序不显示任何内容
【发布时间】:2012-12-30 03:11:57
【问题描述】:

有人知道为什么我的 Java 小程序不显示任何内容吗?

这是我的第一个 Java 小程序,所以我是新手。 我研究了这个问题,但没有找到特定于当前问题的答案。

import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Font;
import java.awt.Color;

public class JavaRocksApplet extends Applet
{
public void paint( Graphics screen )
{
    Font f = new Font( "TimesRoman", Font.ITALIC, 36 );
    screen.setFont( f );
    Color c = new Color( 40, 80, 120 );
    screen.setColor( c );
    screen.drawString( "Java Rocks!!", 100, 60 );
}
}

不管是在命令模块还是在html页面中使用appletviewer。

<html>
<head>
<title>JavaRocksApplet</title>
</head>
<body>
    <applet code = "JavaRocksApplet.class" width = 400 height = 200> </applet>
</body>
</html>

编译Java程序时没有错误,所以我有点困惑为什么它不起作用。

另外,我使用的是运行 OSX 10.8.2 Mountain Lion 和 Java SE 6 的 MacBook Pro

【问题讨论】:

  • 显示任何错误?
  • 取决于浏览器,这可能很难.. 看到这个 - stackoverflow.com/a/4272861/763029
  • 没有错误,JavaRocksApplet.java 编译成功。使用 appletviewer 命令或 HTML 页面时,不显示任何内容
  • @RomanC - 等等,哇?太重了?
  • 奇怪,代码在 Eclipse、Chrome 和 Firefox 中完美运行(并且小程序呈现字符串)。你如何编译程序?

标签: java html applet paint appletviewer


【解决方案1】:

小程序和 HTML 页面都显示正确,因此问题可能是由于服务器端配置错误或浏览器的 Java 插件状态造成的。我需要更多地了解您的情况才能完全诊断它。 [我在谷歌浏览器中使用 1.7.0.11 插件对此进行了测试,它按预期工作]

在服务器端,确保您已将类文件和 HTML 文件部署到服务器上的同一位置(或本地目录,如果您以这种方式加载它)

此外,您使用的浏览器可能没有安装 Java 或具有不兼容的 Java 版本。这是我要检查的下一件事。常见问题包括针对 1.7 API 编译小程序,但尝试将其加载到具有较旧 Java 插件的浏览器中。

【讨论】:

    【解决方案2】:

    这是此工作代码的屏幕截图。除了从指定的小程序高度缩短。

    因此,正如 Neet 在评论中指出的那样。 '它在这里工作。'

    import java.applet.Applet;
    import java.awt.Graphics;
    import java.awt.Font;
    import java.awt.Color;
    
    /*
    <applet code = "JavaRocksApplet.class" width = 400 height = 200> </applet>
    */
    public class JavaRocksApplet extends Applet
    {
        public void paint( Graphics screen )
        {
            Font f = new Font( "TimesRoman", Font.ITALIC, 36 );
            screen.setFont( f );
            Color c = new Color( 40, 80, 120 );
            screen.setColor( c );
            screen.drawString( "Java Rocks!!", 100, 60 );
        }
    }
    

    可以通过查看控制台找到有关问题实际原因的更多详细信息。见How do I enable and view the Java Console?

    【讨论】:

      【解决方案3】:

      通常,您定义一个 init() 方法并在其中添加一些 GUI 组件的初始化。我不会覆盖paint()。我不确定那到底会做什么。

      【讨论】:

        【解决方案4】:

        把它放到你的代码中paint的任何一行之前

        super.paint(screen);
        

        【讨论】:

          【解决方案5】:

          我的小程序也有同样的问题。添加评论

          <applet code = "JavaRocksApplet.class" width = 400 height = 200> </applet>
          

          在 JavaRocksApplet 中为我工作。

          【讨论】:

            猜你喜欢
            • 2013-06-11
            • 1970-01-01
            • 2021-09-30
            • 1970-01-01
            • 2018-11-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-09-29
            相关资源
            最近更新 更多