我在尋找showGUI()方法,編譯器說「this」不是靜態變量,不能從靜態上下文中引用,我會用來代替「這個」嗎?我試過test.main(測試是它的包)。我使用靜態方法showGUI()的原因是因爲我需要從另一個靜態方法以及startup()方法調用該方法。以下是我的兩個主要課程。如何在Java中將「this」替換爲可用的東西
public class Main extends SingleFrameApplication {
@Override protected void startup() {
showGUI();
}
@Override protected void configureWindow(java.awt.Window root) {
}
public static Main getApplication() {
return Application.getInstance(Main.class);
}
public static void main(String[] args) {
launch(Main.class, args);
}
public static void showGUI() {
show(new GUI(this));
}
}
public class GUI extends FrameView {
public GUI(SingleFrameApplication app) {
super(app);
initComponents();
}
private void initComponents() {
//all the GUI stuff is somehow defined here
}
}
然後我的托盤方法是靜態的不能使用它 – 2011-01-05 23:02:11
showGUI()被startup()調用,它不是靜態的。你沒有展示任何你從靜態上下文中調用它的代碼示例。你需要告訴我們你想要做什麼。正如其他人提到的,你可以使用'new Main()'創建一個新的實例,儘管有一個函數調用'showGUI'實際實例化一個新的Main對象可能會引起誤解。 – EboMike 2011-01-05 23:04:27