如何在Java applet中创建JFrame,反之亦然

时间:2013-01-24 10:37:31

标签: java swing applet jframe

我正在尝试使用JInternalFrames创建一个Java applet。为此我相信你需要一种形式的JFrame。我听说你可以将你的小程序包装在JFrame中,这是最好的吗?如果你能告诉我应该做什么,我将不胜感激。 TYIA -Roland

/**
 * @(#)rebuiltgui.java
 *
 * rebuiltgui Applet application
 *
 * @author 
 * @version 1.00 2013/1/21
 */

import javax.swing.JInternalFrame;
import javax.swing.JDesktopPane;
import javax.swing.plaf.basic.BasicInternalFrameUI;
import java.awt.event.*;
import java.awt.Desktop;
import javax.swing.*;
import javax.swing.BoxLayout;
import java.awt.*;
import java.applet.*;

public class rebuiltgui extends JApplet {

    public void init() {

        javax.swing.SwingUtilities.invokeLater(new Runnable() {

            public void run() {

                createAndShowGUI();
            }
        });
    }

    private void createAndShowGUI() {

   // This is where I would put the internal frames.
    }
}

1 个答案:

答案 0 :(得分:3)

您可以在applet代码中创建JFrame,就像在独立的Swing应用程序中一样:

JFrame frame = new JFrame("Hello");
....
frame.show();

框架将离开浏览器窗口,显示为单独的窗口,只是它将包含一些警告标签,这是一个运行的Java小程序。这样的框架可以调整大小或移动。

实际上,一些“小程序”在主视图中不会显示多于一个按钮来启动框架。

有关applet的示例,请参阅http://baba.sourceforge.net/,其中显示了启动四种不同可视化的四个按钮(源代码可用)。

如果您真的想要无法离开小程序区域的框架,请使用InternalFrame。它是一个LayeredPane,因此您也可以将主要组件作为背景图层。