Шаблон 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? Что это показывает?