【问题标题】:How to show applet in Java?如何在 Java 中显示小程序?
【发布时间】:2014-10-11 22:21:33
【问题描述】:

这是我构建的简单应用程序,只是为了显示我的问题(原始应用程序很大,但问题是一样的)。

问题是我无法显示 JApplet(也无法显示其中的任何内容)。在 Netbeans、Java SE 工作。你能告诉我我错过了什么吗?

package testjava;

import java.awt.BorderLayout;
import java.awt.Component;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JPanel;

/**
 *
 * @author Epsilon
 */
public class TestJava extends JApplet implements Runnable {

    protected Thread ivThread;

    protected JPanel p1, p2;

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here

        JApplet applet = new TestJava();
        applet.init();

        applet.start();

    }

    @Override
    public void init() {
        super.init();

        setSize(880, 710+28);

        setLayout(new BorderLayout());
        setVisible(true); 

        p1 = new JPanel();
        add(p1, BorderLayout.CENTER);

        p2 = new JPanel();
        add(p2, BorderLayout.SOUTH);

        p1.requestFocus();

    }

    @Override
    public void start()
    {
        if(ivThread == null)
        {
            ivThread = new Thread(this, "TestJava");
            ivThread.start();
        }
    }

    @Override
    public void run() {
System.out.println("Hello from Thread!");
        Component b1 = new JButton("Click Me");
        p1.add(b1);
    }

}

【问题讨论】:

  • 为什么要编写小程序?如果是老师指定的,请参考Why CS teachers should stop teaching Java applets
  • 1) 这个混合体的main 没有在屏幕上放任何东西顺便说一句。 2) setSize(880, 710+28); applet 的大小应该在 HTML 或 JNLP 中设置,不应设置自己的大小。
  • @AndrewThompson 感谢您的 cmets。我需要在 HTML 中显示它,但在开发阶段我也需要在 Netbeans 调试窗口中显示它。
  • “我应该创建任何东西(例如 JFrame)来显示任何东西吗?” 是的,但是选项窗格更容易。我应该指出一点。请注意您提到 Netbeans,这(使用 main 制作混合)不是 IDE 通常运行小程序的方式。如果我们建立一个基于小程序的项目,IDE 通常会在没有安全管理器的小程序查看器中启动小程序。 ..我不会尝试为 IDE 提供支持。

标签: java swing applet jpanel japplet


【解决方案1】:

我使用过 JApplet + JFrame 解决方案(仅在调试模式下启用 JFrame),它在两种方式下都可以正常工作。

【讨论】:

    猜你喜欢
    • 2010-11-05
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 2013-03-08
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多