Проблема на 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);
}
}
Вы можете пропустить импорт. Укажите ваш импорт в этом файле.