JFace - Could not find Main class

  • Themenstarter Themenstarter vip3r-de
  • Beginndatum Beginndatum
V

vip3r-de

Greetings,
für meine Diplomarbeit muss ich unter anderem eine GUI in Eclipse erstellen mit allem "Pipapo", jedoch scheitere ich schon an den einfachsten Problemen. Nach elendlanger Suche im Netz und wälzen von diversen Büchern bin ich zu keiner Lösung gekommen.
Ich erhalte beim Ausführen des folgenden Quellcode den Fehler
"Could not find the main class". Warum zum Geier ... wenn ich nur mit SWT Arbeite und das Fenster "zu Fuss" erstelle funktioniert das Programm einwandfrei, aber sobald ich mit JFACE arbeiten will funktioniert nix mehr ... :( nach 2h suche und getüdel bin ich langsam genervt :D, aber vlt weiss jmd von euch Rat ?
mfg


Code:
import org.eclipse.jface.window.*;
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;

public class test extends ApplicationWindow {

  public test() {
	super(null);
  }

  protected Control createContents(Composite parent) {
  	Text helloText = new Text(parent, SWT.CENTER);
  	helloText.setText("TEST");
  	parent.pack();
  	return parent;
  }

  public static void main(String[] args) {
	test awin = new test();
	awin.setBlockOnOpen(true);
	awin.open();
	Display.getCurrent().dispose();
  }
}
 
Wie sieht denn die vollständige Fehlermeldung aus?

hast du schonmal versucht, was passiert, wenn du ein eigenes Layout auf dein parent legst?

noch ein paar kleine Sachen:
1. Klassenname sollten immer Groß geschrieben werden
2. Wieso machst du ein dispose wenn du eh das Display blockst sobald es erscheint?
 
Die Konsole gibt mir immer diesen Fehler aus:

java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IProgressMonitor
Exception in thread "main"


mfg
 
Also ich würde meine importierten Klassen checken ob diese(IProgressMonitor) mit dabei ist und die letzte Zeile löschen, also diese:

Code:
Display.getCurrent().dispose();
 
mhhhmmm ... hat leider nichts geholfen ... aber ich forsche weiter.

Noch zwei Fragen am Rande.
Soweit ich es verstanden habe, setzt JFace auf SWT auf. D.h. doch das ich die Anwendung als "SWT Application" (Run as...) starten muss?

Und zweitens das einbinden von SWT und JFace erfolgt doch unter Project->Properties->Java Build Path->Libraries->Add Variable.
Sind die Dateien für SWT/JFace im Eclipse/Plugin Ordner denn korrekt ?:

SWT - org.eclipse.swt_3.2.2.v3236b.jar
JFace - org.eclipse.jface_3.2.2.M20061214-1200.jar



mfg
 
Greetings,

hab nun alles Schrittweise aus dem Code herausgenommen um den Fehler selektieren zu können. Sobald
Code:
extends ApplicationWindow
verwendet wird taucht der besagte Fehler auf, den ich "nur" noch lösen muss -.-

mfg
 
Hi, binde doch Bibliotheken mit "Add Library" und dann Häkchen bei "Include support for JFace Library".

Heinrich

P.S. Dir fehlte eine Bibliothek "java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IProgressMonitor". Diese Interface ist im org.eclipse.equinox.common_3.2.0.v20060603.jar
 
Zuletzt bearbeitet von einem Moderator:
Zurück