java - 从另一个 Applet 启动另一个 Applet

标签 java applet japplet

我制作了一个向用户致意的 Loader Applet,当用户单击该 Applet 上显示的按钮时,它会启动主 applet,并且 Loader Applet 被销毁。

但是点击另一个小程序没有启动!

加载器小程序:

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;

public class Loader extends JApplet implements ActionListener{
    Display secondApplet;
    Button button;

    @Override
    public void init() {
        setSize(800,600);
    }

    @Override
    public void start() {
        setLayout(new FlowLayout());
        button = new Button ("Click me !!");
        add(button);
        button.addActionListener(this);
    }

    @Override
    public void paint(Graphics g) {

    }

    @Override
    public void actionPerformed(ActionEvent e) {
        secondApplet = (Display)getAppletContext().getApplet("Display");
        if (secondApplet != null) {
            secondApplet.init();
            secondApplet.start();
        }
        else {
            System.out.println("Not Running\n");
        }
    }
}

显示小程序:

import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JApplet;

public class Display extends JApplet {

    @Override
    public void init() {
        setSize(600,400);
    }

    @Override
    public void paint(Graphics g) {
        g.fillRect(0, 0, this.getWidth(), this.getHeight());
    }
}

如何创建另一个 Applet 的实例并销毁当前的 Applet !!

最佳答案

由于 Applet/JApple 本身就是一个 java.awt.Panel,因此您可以将一个嵌入另一个,对于您的特定情况,您可以将 Display 嵌入 < strong>Loader 在Loader 中使用面板根据需要重新加载Display

像这样:

Panel container = new Panel();
container.setLayout(new GridLayout(1,0));
container.add(secondApplet); //Display Applet
add(container):

secondApplet.init();
secondApplet.start();

button.setVisible(false);

关于java - 从另一个 Applet 启动另一个 Applet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15312058/

相关文章:

java - 上下移动项目

java - 如何将策略文件添加到嵌入 html 文件的 jar 小程序中

java - 我的代码说小程序未初始化

java - Hangman GUI 小程序 java

java - 工作 web3j.replayTransactionsObservable 示例

Java:为 args.length == 0 抛出新异常。不起作用?

java - 使用 Spring 在 Java 中进行批处理的输入文件中的多种模式

java - 为什么我的球/圆/椭圆的 Y 位置计算错误?

java - 通过菜单使用 JApplet

java - JComponent 内容 Pane