Could not find main class: ...

herdi

Mitglied
Hallo java-forum.org Community,

gerade beschäftige ich mich mit einem mir rätselhaften Problem.
Ich habe eine Loginmaske mit dem WindowBuilder erstellt. Er generiert mir schön und gut den Programmcode. Sobald ich im Konstruktor ein JTextField entnehme oder gar ändere erhalte ich beim starten des Programms promt die Fehlermeldung, dass meine main class nicht gefunden werden kann.
Wieso ist das so? Liegt es daran, dass WindowBuilder die ganzen Initialisierungen in den Kunstruktor schreibt?

Viele Grüße

herdi
 

njans

Top Contributor
Heißt deine main Methode wirklich?
Java:
public static void main (String[] args)
 

herdi

Mitglied
U.a. instanziere ich bereits Komponenten...

Java:
public class Mainframe extends JFrame {
	private static Mainframe frame = new Mainframe();
	
	private JPanel contentPane;
	private JTextField form_server;

Das ist meine Main-Methode, generiert von WindowBuilder:

Java:
	public static synchronized void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try{
					frame.setVisible(true);
					
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

Dies ist der Konstruktor

Java:
public Mainframe() {
		setTitle("Titel");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 453, 536);
		contentPane = new JPanel();
		contentPane.setBackground(Color.WHITE);
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		GridBagLayout gbl_contentPane = new GridBagLayout();
		gbl_contentPane.columnWidths = new int[]{0, 0, 0, 0, 0, 0, 0};
		gbl_contentPane.rowHeights = new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
		gbl_contentPane.columnWeights = new double[]{0.0, 0.0, 1.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
		gbl_contentPane.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
		contentPane.setLayout(gbl_contentPane);
//......
		

		JLabel lblServer = new JLabel("Server:");
		java.net.URL server_ico = getClass().getResource("/ico_server.png");
		lblServer.setIcon(new ImageIcon(server_ico));
		GridBagConstraints gbc_lblServer = new GridBagConstraints();
		gbc_lblServer.insets = new Insets(0, 0, 5, 5);
		gbc_lblServer.anchor = GridBagConstraints.WEST;
		gbc_lblServer.gridx = 2;
		gbc_lblServer.gridy = 2;
		contentPane.add(lblServer, gbc_lblServer);
		
	
	form_server = new JTextField();
		GridBagConstraints gbc_form_server = new GridBagConstraints();
		gbc_form_server.insets = new Insets(0, 0, 5, 5);
		gbc_form_server.fill = GridBagConstraints.HORIZONTAL;
		gbc_form_server.gridx = 2;
		gbc_form_server.gridy = 3;
		contentPane.add(form_server, gbc_form_server);
		form_server.setColumns(10);

//....

So bald ich nur
Java:
form_server = new JTextField();
ändere etc. kommt die Meldung.
 
Zuletzt bearbeitet:

bERt0r

Top Contributor
Was zur Hölle? Erstens mal: das "private static Mainframe frame = new Mainframe();" ist ein no go und total unnötig.
2. Deine main Methode muss public static void main(String[] args) lauten nicht public static synchronized.
3. Lerne erstmal eine Gui per Hand zu bauen bevor du GUI builder überhaubt angreifst. Der Code den du da produzierst ist eine Katastrophe.
 

Fab1

Top Contributor
. Lerne erstmal eine Gui per Hand zu bauen bevor du GUI builder überhaubt angreifst. Der Code den du da produzierst ist eine Katastrophe.

Danke du Experte. Lerne du erstmal richtig zu lesen und zu verstehen. Ich selber habe da nichts an Code produziert.

Damit ist der Code gemeint, den du mithilfe von WindowBuilder hast erstellen lassen. Oft muss man bei den WindowBuildern vor der Nutzung erst ein paar Sachen einstellen um einen einigermaßen lesbaren Code zu bekommen. Wenn du
Code:
synchronized
weglässt, lässt sich das Programm dann ausführen (ohne Fehlermeldung?)
 

bERt0r

Top Contributor
Java:
private static Mainframe frame = new Mainframe();
löschen und
Java:
Mainframe frame = new Mainframe();
in die main Methode schreiben.
Sry für den Ton vorhin, wenn ich Freitag nachts noch ins Forum schau kommt immer sowas raus :D
 
Zuletzt bearbeitet:

herdi

Mitglied
Es funktioniert nun.
Gelöst habe ich das wie folgt:

Java:
private static Mainframe frame = new Mainframe();

ersetzt durch

Java:
private static Mainframe frame;

und die Main- Methode entsprechend angepasst:

Java:
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
frame = new Mainframe();
                try{
                    frame.setVisible(true);
                    
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

Nach diesen Änderungen läuft es nun endlich.
Ändere ich nach:

Java:
Mainframe frame = new Mainframe();

so funktionieren weitere Zugriffe auf mein Frame nicht, die ich brauche.
Ich belasse es nun so. Vielen Dank euch beiden! :)

Java:
Sry für den Ton vorhin, wenn ich Freitag nachts noch ins Forum schau kommt immer sowas raus :D[/QUOTE]

Ich sehe drüber hinweg :D

Nun obwohl das Problem gelöst ist, würde ich gerne den Auslöser für dieses verstehen...kann mir das jmd. erklären, der mehr Plan von SWING hat als ich?
 

Poltergeist

Mitglied
Herdi,
Java:
public static synchronized void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try{
                    frame.setVisible(true);
                    
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }
public static synchronized void main(String[] args) is NOT wrong. In other words: This synchronized is not superfluous but essential. The reason is the internal invocation of the EventQueue.invokeLater(new Runnable(). Otherwise your program may run into some synchronization problems. For example, the setVisible(true) may appear to early or a little too late:D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Fehlermeldung: Error: Could not find or load main class set Caused by: java.lang.ClassNotFoundException: set AWT, Swing, JavaFX & SWT 5
M JTable Cannot find Symbol AWT, Swing, JavaFX & SWT 7
K Cannot find symbol: class JCanvas AWT, Swing, JavaFX & SWT 8
S cannot find symbol. AWT, Swing, JavaFX & SWT 2
G JTextField - cannot find symbol 114 AWT, Swing, JavaFX & SWT 4
B Find & Replace Dialog für JTextArea AWT, Swing, JavaFX & SWT 4
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
T Exception in thread "main" java.lang.NoClassDefFoundError AWT, Swing, JavaFX & SWT 4
T Szene wechselen JavaFX mit If in Main Class AWT, Swing, JavaFX & SWT 2
T Fxbefehle aus Main umwandeln in @FXML AWT, Swing, JavaFX & SWT 21
ralfb1105 JavaFX Wie Text Label in neuem Window von Main Stage setzen? AWT, Swing, JavaFX & SWT 6
S Fehler: Hauptklasse neon.Main konnte nicht gefunden oder geladen werden AWT, Swing, JavaFX & SWT 5
L Editor does not contain a main type AWT, Swing, JavaFX & SWT 1
zhermann JavaFX Main App wird nicht geöffnet AWT, Swing, JavaFX & SWT 6
K JavaFX Titel und Fenstergröße aus Main.java übergeben AWT, Swing, JavaFX & SWT 0
F main-Funktion bei Swing AWT, Swing, JavaFX & SWT 4
Paul15 ActionListen auf Object in main AWT, Swing, JavaFX & SWT 7
K Panels mit eigenen Controllern in Main-View einbauen AWT, Swing, JavaFX & SWT 4
V JavaFX, Pane construktor von einer Klasse in der Main verwenden. AWT, Swing, JavaFX & SWT 4
T Java Swing Main GUI Thread AWT, Swing, JavaFX & SWT 3
F Applet JApplet per html einbinden - Main class kann nicht gefunden werden AWT, Swing, JavaFX & SWT 15
lumo SWT Exception in thread "main" org.eclipse.swt.SWTError: No more handles AWT, Swing, JavaFX & SWT 3
A Applet main class aus anderer main class aufrufen AWT, Swing, JavaFX & SWT 15
C Grafik von main aus aufrufen AWT, Swing, JavaFX & SWT 13
S Visual Editor mit main Methode AWT, Swing, JavaFX & SWT 3
Y Swing Problem mit Main Methode AWT, Swing, JavaFX & SWT 8
D LayoutManager Main layout auf andere Class Dateien verweisen? AWT, Swing, JavaFX & SWT 17
T Frame in Main Starten AWT, Swing, JavaFX & SWT 5
M Main Frame schließen und neue Klasse aufrufen? AWT, Swing, JavaFX & SWT 2
Semox Warum baut man eine GUI nicht in der main-Methode? AWT, Swing, JavaFX & SWT 16
A Event von Login zu Main klasse AWT, Swing, JavaFX & SWT 2
R problem mit bildanzeige in applet und main AWT, Swing, JavaFX & SWT 2
A JFrame + JTable + main-Methode + Programmsteuerung AWT, Swing, JavaFX & SWT 18
H Es wird nach "main" verlangt AWT, Swing, JavaFX & SWT 9
A Paint und Main AWT, Swing, JavaFX & SWT 4
L invokeLater in der main-Methode AWT, Swing, JavaFX & SWT 6
N Swing startet nicht - java.lang.NoSuchMethodError: main AWT, Swing, JavaFX & SWT 8
ralfb1105 JavaFX Exception Message von Model Class via Controller in View darstellen AWT, Swing, JavaFX & SWT 39
ralfb1105 JavaFX MVC: Thread in Model Class mit Ausgabe in TextArea AWT, Swing, JavaFX & SWT 10
F JavaFX ListView füllen in Controller Class AWT, Swing, JavaFX & SWT 12
L JavaFX Control Pseudo Class AWT, Swing, JavaFX & SWT 1
J Swing The serializable class FMFrame does not declare a static final serialVersionUID field of type long AWT, Swing, JavaFX & SWT 5
K JavaFX Unresolved class button bar AWT, Swing, JavaFX & SWT 8
Xanny 2D-Grafik Beginner! Probleme mit Swing, Gprahics class und paint AWT, Swing, JavaFX & SWT 13
A JavaFX Controller Class saveFile AWT, Swing, JavaFX & SWT 2
J private inner class AWT, Swing, JavaFX & SWT 4
C JavaFX Controller class AWT, Swing, JavaFX & SWT 2
T FileFilter: class File wird nicht gefunden AWT, Swing, JavaFX & SWT 2
M SomeClass.class.getResourceAsStream(String filename) funktioniert nicht in jar) AWT, Swing, JavaFX & SWT 32
U AWT local variable * is accessed from within inner class; needs to be declared final AWT, Swing, JavaFX & SWT 6
A Zeichnen auf JFrame aus anderer class heraus AWT, Swing, JavaFX & SWT 12
J Calling a method from another class AWT, Swing, JavaFX & SWT 2
T Compiler erzeugt mehrere .class Dateien AWT, Swing, JavaFX & SWT 2
G JButton aus JPanel Class nicht erreichbar AWT, Swing, JavaFX & SWT 7
R Methode der Class im JComboBox abfragen AWT, Swing, JavaFX & SWT 2
J serializable class GUI does not declare a static final s. AWT, Swing, JavaFX & SWT 2
S Class in einer anderen Class ausführen? AWT, Swing, JavaFX & SWT 5
P ImageIconDemo.class AWT, Swing, JavaFX & SWT 2
D Eclipse RCP & Hibernate: <Class> not mapped AWT, Swing, JavaFX & SWT 4
5 JFileChooser und JPanel in Java Class einbauen. AWT, Swing, JavaFX & SWT 3
R DataVector bei TableModel - Class Cast Exception AWT, Swing, JavaFX & SWT 9
M GridbagLayout&Class will Member nicht kennen =( AWT, Swing, JavaFX & SWT 2
H JFileChooser und Class Instanz AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben