swt - java.lang.NullPointerException at org.eclipse.jface.resource.JFaceResources.getResources -
i going implement wizard swt / jface. when run program, have below error:
exception in thread "main" java.lang.nullpointerexception @ org.eclipse.jface.resource.jfaceresources.getresources(jfaceresources.java:209) @ org.eclipse.jface.resource.jfaceresources.getimageregistry(jfaceresources.java:402) @ org.eclipse.jface.wizard.wizard.<init>(wizard.java:105) @ mypackage.reservationwizard.<init>(reservationwizard.java:21) @ mypackage.reservationwizard.main(reservationwizard.java:69)
the part of code:
public class reservationwizard extends wizard { **public reservationwizard() {** // setwindowtitle("hotel room reservation wizard"); // setneedsprogressmonitor(true); // setdefaultpageimagedescriptor(imagedescriptor.createfromfile(null, "unknown.jpg")); } ... public static void main(string[] args) { **reservationwizard wizard = new reservationwizard();** wizarddialog dialog = new wizarddialog(display.getdefault().getactiveshell(), wizard); dialog.setblockonopen(true); dialog.open(); } }
as seen in code has error, when reservationwizard() empty. should do?
it has error on specified lines.
edit: when created display, have below error:
@ java.net.urlclassloader.defineclass(urlclassloader.java:467) @ java.net.urlclassloader.access$100(urlclassloader.java:73) @ java.net.urlclassloader$1.run(urlclassloader.java:368) @ java.net.urlclassloader$1.run(urlclassloader.java:362) @ java.security.accesscontroller.doprivileged(native method) @ java.net.urlclassloader.findclass(urlclassloader.java:361) @ java.lang.classloader.loadclass(classloader.java:424) @ sun.misc.launcher$appclassloader.loadclass(launcher.java:331) @ java.lang.classloader.loadclass(classloader.java:357) @ java.lang.classloader.defineclass1(native method) @ java.lang.classloader.defineclass(classloader.java:763) @ java.security.secureclassloader.defineclass(secureclassloader.java:142) @ java.net.urlclassloader.defineclass(urlclassloader.java:467) @ java.net.urlclassloader.access$100(urlclassloader.java:73) @ java.net.urlclassloader$1.run(urlclassloader.java:368) @ java.net.urlclassloader$1.run(urlclassloader.java:362) @ java.security.accesscontroller.doprivileged(native method) @ java.net.urlclassloader.findclass(urlclassloader.java:361) @ java.lang.classloader.loadclass(classloader.java:424) @ sun.misc.launcher$appclassloader.loadclass(launcher.java:331) @ java.lang.classloader.loadclass(classloader.java:357) @ org.eclipse.jface.resource.jfaceresources.getfontregistry(jfaceresources.java:340) @ org.eclipse.jface.window.window.createshell(window.java:508) @ org.eclipse.jface.window.window.create(window.java:429) @ org.eclipse.jface.dialogs.dialog.create(dialog.java:1096) @ org.eclipse.jface.window.window.open(window.java:792) @ mypackage.reservationwizard.main(reservationwizard.java:76) caused by: java.lang.classnotfoundexception: org.eclipse.core.commands.common.eventmanager @ java.net.urlclassloader.findclass(urlclassloader.java:381) @ java.lang.classloader.loadclass(classloader.java:424) @ sun.misc.launcher$appclassloader.loadclass(launcher.java:331) @ java.lang.classloader.loadclass(classloader.java:357) ... 30 more
you have not created display
before calling wizard. first thing swt / jface application has create display.
so need:
public static void main(final string [] args) { // create display display display = new display(); reservationwizard wizard = new reservationwizard(); wizarddialog dialog = new wizarddialog(display.getactiveshell(), wizard); dialog.setblockonopen(true); dialog.open(); }
Comments
Post a Comment