如何从另一个类调用 JFrame



我有一个创建框架的类。

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();

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

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

喜欢这个

public static JFrame frame1;

然后在 createDisplay()

GameDisplay.frame1 = frame;

在另一个类中获取内容窗格只需做

c = GameDisplay.frame1.getContentPane();

希望这有帮助!

最新更新