我如何从构造函数外部resize
JFrame
static method
使用JFrame
?
让我解释为什么我需要这个。
我正在用Java编写类似Zelda的游戏,我有一个地下城。在我的地牢中,有正常大小的房间和老板房。所以我的问题是,由于Boss房间的尺寸与其他房间的尺寸不同,是否有可能在游戏后期JFrame
调整尺寸?我直接在setSize(int,int)
上绘图。
我尝试使用non-static
,但它只能用作{{1}}。
如果我的要求不清楚,请告诉我。
感谢您阅读
答案 0 :(得分:4)
如何从构造函数外部调整JFrame的大小并使用 静态方法?
所以我的问题是,是否可以稍后调整我的JFrame大小 游戏,因为老板房的尺寸与其他房间的尺寸不同?
我直接在JFrame上绘图。
我尝试使用setSize(int,int),但它只能用作非静态。
答案 1 :(得分:0)
如果你想在静态上下文中使用setSize(int,int),你应该做这样的事情
public class Main {
static JFrame f;
public static void main(String args[]) {
f = new JFrame();
f.add(new JLabel("prova"));
f.setVisible(true);
f.setSize(900, 900);
}
}
通过将JFrame声明为静态,您可以在静态和非静态上下文中调用setSize。
如果你想做什么
public class MyFrame extends JFrame() {
public static void changeSize(int a, int b) {
setSize(a,b);
}
....
}
这是无法做到的,因为静态方法不能引用非静态对象(例如MyFrame类的当前实例。静态方法只能访问静态对象,如
public class MyFrame extends JFrame() {
static int l;
public static void changeSize(int a, int b) {
l = 10;
}
....
}