showGUI() 메서드가 작동하도록하려면 컴파일러에서 "this"가 정적 변수가 아니며 정적 컨텍스트에서 참조 할 수 없다고 말합니다. 나는 이것을 "이것을"대체 할까? 나는 test.main을 시험해 보았다. 정적 메서드 showGUI()를 사용하는 이유는 start() 메서드뿐 아니라 다른 정적 메서드에서 메서드를 호출해야하기 때문입니다. 아래 두 가지 주요 수업이 있습니다.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