Шаблон NetBeans

Я использовал этот код ранее в netbeans 6.9.1, но он не работает в 7.1.1, он подчеркивает.getApplication() с подсказкой "не могу найти символ".

Как я могу сделать эту работу снова?

JFrame mainFrame = TestProject.getApplication().getMainFrame();
AboutBox newAboutBox = new  AboutBox();
newAboutBox.setLocationRelativeTo(mainFrame);
TestProject.getApplication().show(newAboutBox);

Вот похожий вопрос, но решение не работает.

2 ответа

Решение

Я нашел решение, переустановив netbeans 6.9.1. Похоже, что есть встроенная библиотека, которой нет в 7.1.1. Я также обнаружил, что шаблон, который я использовал, был шаблоном "Настольное приложение".

Вот решение, которое я придумал из этого:

Класс TestProject:

import org.jdesktop.application.Application;
import org.jdesktop.application.SingleFrameApplication;

public class TestProject extends SingleFrameApplication {

    @Override protected void startup() {
        show(new AppView(this));
    }

    @Override protected void configureWindow(java.awt.Window root) { }

    public static TestProject getApplication() {
        return Application.getInstance(TestProject.class);
    }

    public static void main(String[] args) {
        launch(TestProject.class, args);
    }
}

AppView JFrame:

import org.jdesktop.application.FrameView;
import org.jdesktop.application.SingleFrameApplication;

public class AppView extends FrameView {
   public AppView(SingleFrameApplication app) {
       super(app);

       JFrame mainFrame = TestProject.getApplication().getMainFrame();
       AboutBox newAboutBox = new  AboutBox();
       newAboutBox.setLocationRelativeTo(mainFrame);
       TestProject.getApplication().show(newAboutBox);
   }
}

Вы проверили статический метод getApplication() в TestProject.java? Что это показывает?

Другие вопросы по тегам