showGUI()メソッドの動作を見ていますが、コンパイラには "this"は静的変数ではなく、静的コンテキストからは参照できません私は "これ"を置き換えるために使用するでしょうか?私はtest.mainを試してみました(テストはそのパッケージです)。私が静的メソッドshowGUI()を使用しているのは、別の静的メソッドとstartup()メソッドから呼び出されるメソッドが必要なためです。以下は私の2つの主要なクラスです。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
}
}
静的な私のトレイメソッドは使用できません –
showGUI()は、スタティックではないstartup()によって呼び出されます。静的コンテキストから呼び出す場合のコード例は表示していません。あなたは何をしようとしているか教えてください。他にも言及しているように、 'new Main()'を使って新しいインスタンスを作成することができますが、 'showGUI'という関数呼び出しで実際に新しいMainオブジェクトをインスタンス化するのは誤解を招きます。 – EboMike