【发布时间】:2014-04-21 21:25:51
【问题描述】:
我正在尝试用一个面板制作一个框架,该面板由位于框架底部的两个按钮组成。
public class ControlledBall extends JPanel {
public static void main(String[] args) {
JFrame Frame = new Viewer();
Frame.setSize(1000, 500);
Frame.setTitle("Bouncing Ball");
Frame.setDefaultCloseOperation((JFrame.EXIT_ON_CLOSE));
Frame.setVisible(true);
}
public class Viewer extends JFrame {
JButton buttonGo = new JButton("GO");
JButton buttonStop = new JButton("STOP");
JPanel aPanel = new JPanel();
public Viewer() {
aPanel.add(buttonGo);
aPanel.add(buttonStop);
this.add(aPanel, BorderLayout.SOUTH);
}
}
}
这里的问题是这样的:
JFrame Frame = new Viewer();
它告诉我
ControlledBall.this 不能从静态上下文中引用
我该如何解决?
【问题讨论】:
-
你真的不应该以大写字母开头的变量名,它读起来很混乱,也会让编译器感到困惑。
-
@HarryBlargle 我觉得它读起来很混乱,但我希望没有 Java 编译器会与它混淆 ^^
-
@xav 它可能认为您在静态上下文中使用 java.awt.Frame
-
@HarryBlargle +1,没有注意到 :) IDE 可能确实会自动导入 AWT 类(尽管编译器不会混淆)