gpt4 book ai didi

java - 在 JFrame(Panel) 中加载 .Jar Applet

转载 作者:行者123 更新时间:2023-12-01 14:45:32 24 4
gpt4 key购买 nike

我正在尝试为我最喜欢的 Java 游戏之一制作 JFrameable“加载器”,但我不知道如何将实际的 .Jar 加载到 JFrame 面板中(有人告诉我这被称为小程序,我猜我有点落后了)

我已经用面板和我想要的所有东西设置了JFrame,但我不知道如何加载.jar并向其发送参数并告诉它我想要的位置位于。

任何帮助或链接将不胜感激......因为我找不到任何东西

最佳答案

由于您没有提供正在使用的网站,我将只解释一些部分。

首先,您需要下载游戏 .JAR 文件或使其可供访问。

其次,您需要了解主类,通常称为“main.class”。

第三,您将需要类似于下面的代码来加载 .jar 文件主文件。再次将“main.class”变量更改为实际的“.class”。

URL url[] = { 
new File(directory.concat("/gamepack.jar")).toURI().toURL()
};

URLClassLoader classLoader = new URLClassLoader(url);
applet = (Applet)classLoader.loadClass("main").newInstance();
applet.setBounds(0, 0, width, height);

applet.setBackground(Color.BLACK);
applet.setStub(stub);

applet.init();
applet.start();

mainFrame.getContentPane().add(applet);

您会注意到“applet.setStub(stub)”方法。您需要创建一个 AppletStub 类。类似于下面的操作就足够了。

package com;

import java.util.Map;
import java.util.HashMap;
import java.net.URL;
import java.applet.AppletStub;
import java.applet.AppletContext;

public class AppletEnvironment implements AppletStub
{
private final Map<String, String> PARAMETERS = new HashMap<String, String>();
private final URL URLBASE;

public AppletEnvironment(final URL URLBASE)
{
this.URLBASE = URLBASE;
}

public boolean put(String key, String param)
{
if (PARAMETERS.containsKey(key))
return false;
PARAMETERS.put(key, param);
return true;
}

@Override
public String getParameter(String name)
{
return PARAMETERS.get(name);
}

@Override
public URL getCodeBase()
{
return URLBASE;
}

@Override
public URL getDocumentBase()
{
return URLBASE;
}

@Override
public boolean isActive()
{
return true;
}

@Override
public AppletContext getAppletContext()
{
return null;
}

@Override
public void appletResize(int width, int height)
{

}
}

现在要使该类正常工作,您需要如下所示的内容。因此您可以创建“ stub ”变量。

AppletEnvironment stub = new AppletEnvironment(url);

您会注意到 AppletEnvironment 类有一个方法“put(String key, String param)”。这必须正确完成。当您解析网站时,您会发现有用于生成客户端的客户端参数。如果没有找到,那么你可以忽略它。如果您想了解需要什么。

然后在“getParameter(String name);”中添加以下代码方法。

System.out.println(name);

关于java - 在 JFrame(Panel) 中加载 .Jar Applet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15467459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com