gpt4 book ai didi

java - 如何从另一个类调用JFrame?

转载 作者:行者123 更新时间:2023-12-01 06:09:38 25 4
gpt4 key购买 nike

我有一个创建框架的类。

public class GameDisplay{

....

public void createDisplay(){
frame=new JFrame(title);
canvas=new Canvas();
canvas.setPreferredSize(new Dimension(width,height));
canvas.setFocusable(false);
frame.setSize(width,height);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setResizable(false);
frame.add(canvas);
frame.pack();
}
public Canvas getCanvas(){
return this.canvas;
}

public JFrame getFrame(){
return frame;
}

如果我有另一个类可以将面板和按钮添加到框架中,我该如何添加它们?我尝试过:

GameDisplay g;
Container c;
c = g.getFrame().getContentPane();

但它返回 NullPointer 错误。因此,我似乎无法向其中添加面板。

最佳答案

将 createDisplay() 中创建的 JFrame 附加到静态变量。然后从另一个类访问该静态变量。

像这样

public static JFrame frame1;

然后在createDisplay()中

GameDisplay.frame1 = frame;

在另一个类中获取内容 Pane 即可

c = GameDisplay.frame1.getContentPane();

希望这有帮助!

关于java - 如何从另一个类调用JFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37509329/

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