gpt4 book ai didi

java - 来自其他类的 JFrame/JPanel 绘图

转载 作者:行者123 更新时间:2023-11-29 03:45:38 24 4
gpt4 key购买 nike

我正在用 Java 开发一个简单的游戏。虽然这可能是一个愚蠢的问题,但我确实需要一些帮助。我的游戏将具有多个级别。我希望能够从一个新的类文件加载每个级别,使其更易于管理。如果这不是一个稳定的解决方案,请告知。

现在我的问题是这个。如果我的 JPanel 在类文件 A 中,我如何从类文件 B 中绘制它?假设类文件 B 是我的级别,所以我会有类文件 C、D、E 等等,我希望能够将所有不同的级别绘制到类文件 A 中,类文件 A 包含我的 JPanel。我怎样才能做到这一点?

最佳答案

两种可能的解决方案是:

将类文件传递给JPanel,例如:

JPanel j = new JPanel();
Level l1 = new Level(1);
Level l2 = new Level(2);
j.initlevel(l1);
//wait until level 1 is done
j.initlevel(l2);

让 initlevel 做加载:

public void initlevel(Level l){
// for all level parts, load them into "this"
}

或者您可以将 JPanel 的某些属性设为公开,并将其传递给级别:

JPanel j = new JPanel();
new Level(1, j);
//wait until level 1 is done
new Level(2, j);

并构造Level的构造函数:

public Level(int level, JPanel j){
//for all level parts load them into "j"
}

请注意,这是一个非常基本的结构,如果您的游戏变得有点复杂,您可能需要考虑阅读模型- View - Controller 模式。

关于java - 来自其他类的 JFrame/JPanel 绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11074624/

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