Проблема на aboutBox() в Java

Я разрабатываю приложение javadesktop в Netbeans 6.9, и все идеально, но... это дает мне ошибку по этому поводу:

@Action
public void showAboutBox()
{
     if (aboutBox == null) {
        JFrame mainFrame = Mp4App.getApplication().getMainFrame();
        aboutBox = new mp4AboutBox(mainFrame);
        aboutBox.setLocationRelativeTo(mainFrame);
    }
}
/** This method is called from within the constructor to
 * initialize the form.
 * WARNING: Do NOT modify this code. The content of this method is
 * always regenerated by the Form Editor.
 */
@SuppressWarnings("unchecked")

и это ошибка:

Compiling 1 source file to Q:\Mp3 App\mp4-beta\mp4\build\classes
Q:\Mp3 App\mp4-beta\mp4\src\mp4\Mp4View.java:223: cannot find symbol
symbol  : class mp4AboutBox
location: class mp4.Mp4View
        aboutBox = new mp4AboutBox(mainFrame);

1 error
Q:\Mp3 App\mp4-beta\mp4\nbproject\build-impl.xml:603: 
The following error occurred while executing this line:
Q:\Mp3 App\mp4-beta\mp4\nbproject\build-impl.xml:284: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 8 seconds)

реальная проблема в том, что это код, сгенерированный из netbeans... также, если вы создаете новое Project->java->Destop Application и оставляете его там, не добавляя ничего, это всегда дает мне одну и ту же проблему... что делать????????????

Версия NetBeans: 6.9.1. Версия JDK: 7 ОС: Windows 7 32 бит

3 ответа

Вы не должны создавать свой графический интерфейс, используя Netbeans, потому что он генерирует нечитаемый код. Swing-Пакет довольно прост, поэтому вы должны его использовать.

К ошибке: у вас есть mp4AboutBox-класс и что в нем?

У меня был похожий вопрос, решение которого я получил путем переустановки netbeans 6.9.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);
   }
}

Вы можете пропустить импорт. Укажите ваш импорт в этом файле.

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