如果你想在静态上下文中使用 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;
}
....
}