Compiler-Fehler main Compilerfehler

KingEldarion

Bekanntes Mitglied
Hi,

ich habe ein kleines Problem mit meinem Fenster, ich habe folgenden Javacode:

[Java]
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


public class start extends JFrame implements ActionListener
{

JButton butPlay;
JButton butQuit;

JLabel head = new JLabel("head");

butPlay = new JButton("play");
butQuit = new JButton("quit");





JPanel headPanel = new JPanel();
JPanel playPanel = new JPanel();
JPanel quitPanel = new JPanel();


public start( String title )
{
setTitle( "Und noch ein Fenster...");
setLayout( new FlowLayout() );


headPanel.add( head );
playPanel.add( butPlay );
quitPanel.add( butQuit );


setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );


butQuit.addActionListener( this );
butPlay.addActionListener( this );


public void actionPerformed( ActionEvent evt)
{
// überprüfen, welcher Befehlsstring gesendet wurde
if ( evt.getActionCommand().equals( "play" ) )
getContentPane().setBackground( Color.red ) ;
else
getContentPane().setBackground( Color.green ) ;

repaint();
}

public static void main ( String[] args )
{
start frame = new start(null) ;
frame.setSize( 300, 225 );
frame.setResizable( false );
frame.setVisible( true );
}

}
[/Java]

Um was es vorallem geht ist dieser Teil:

[JAVA=55]
public static void main ( String[] args )
{
start frame = new start(null) ;
frame.setSize( 300, 225 );
frame.setResizable( false );
frame.setVisible( true );
}
[/Java]

Eclipse macht mir alles rot was hier rot dargestellt ist, mit der Begründung:
Multiple markers at this line
- Syntax error on token ")", ; expected

Zu dieser Stelle ist meine Frage was daran falsch sein soll?


Die nächste rote Stelle ist diese:

[Java=41]
butPlay.addActionListener( this )
Code:
;

[/Java]

Meine Frage:
Was ist falsch?

Eine weitere rote Stelle ist diese:

[JAVA=44]
public void actionPerformed
Code:
([/c] ActionEvent evt[code])
[/code]

Wieder meine Frage was ist falsch?!


Und zu guter letzt noch einmal was in Zeile 12:

[JAVA=12]
JLabel head = new JLabel("head")
Code:
;

[/code]

So damit wären das auch alle Sachen


EDIT: Grad herausgefunden das die Rote Schrift in den Javatags nicht funtkioniert...
 
Zuletzt bearbeitet:

Michael...

Top Contributor
Sauber strukturierter Code ist das halbe Leben...
Du versuchst innerhalb des Konstruktor Methoden zu deklarieren, das geht natürlich nicht.

KlasseNamen bitte mit GrossBuchstaben beginnen lassen.
 
N

nillehammer

Gast
Ich glaub, Du hast Dich nur beim Setzen der geschweiften Klammern vertan. Wenn ich das richtig sehe, hast Du vergessen, beim Konstruktor die schließende geschweifte Klammer zu setzen. Damit versuchst Du innerhalb des Konstruktors, Methoden zu definieren. Das geht natürlich nicht. Und noch ein kleiner Stiltipp: Klassennamen immer groß, also "Start" statt "start".

//Edit: Mist zu langsam!. Wenn man sich unsere Posts durchliest, könnte man denken, Michael und ich wären Zwillinge ;)
 
G

Gast2

Gast
- Da fehlt ne Klammer }
Java:
    butPlay = new JButton("play");
    butQuit = new JButton("quit");
Sowas kannst du nur in einer Methode oder dem Konstruktor aufrufen.
 
G

Gast2

Gast
vor
Java:
public void actionPerformed
fehlt ne schließende Klammer. Die methode steht aktuell in der start Methode.
 

njans

Top Contributor
Java:
public start( String title )
    {
        setTitle( "Und noch ein Fenster...");
        setLayout( new FlowLayout() );
        
        
        headPanel.add( head );
        playPanel.add( butPlay );
        quitPanel.add( butQuit );
        
        
        setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        
        
        butQuit.addActionListener( this );
        butPlay.addActionListener( this );
       }  // <--- Ich fehle!

       public void actionPerformed( ActionEvent evt)
        {
          // überprüfen, welcher Befehlsstring gesendet wurde
          if ( evt.getActionCommand().equals( "play" ) )
            getContentPane().setBackground(  Color.red  ) ;
          else
            getContentPane().setBackground( Color.green ) ;
 
          repaint();
        }
 

KingEldarion

Bekanntes Mitglied
So jetzt sind nur noch Fehler in Zeile 12:

[JAVA=12] JLabel head = new JLabel("head");[/code]

und 25:

[JAVA=25] JPanel quitPanel = new JPanel();[/Java]

Was ist falsch? Bei beiden ist jeweils das ; am Ende in eclipse unterstrichen.

MfG KingEldarion
 
T

TheRealSpikee

Gast
@TO
Weil du nunmal im static-kontext der Klasse keine Objekte erzeugen kannst. Das gehört in einen Konstruktor oder eine Methode ... aber nicht in den statischen KlassenRaum.
 

Andi_CH

Top Contributor
@TO
Weil du nunmal im static-kontext der Klasse keine Objekte erzeugen kannst. Das gehört in einen Konstruktor oder eine Methode ... aber nicht in den statischen KlassenRaum.

Was gibst denn du da für K...e von dir ???:L

Das da unten kompliert absolut fehlerfrei.

Java:
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Test1 {
	
	JLabel label = new JLabel("head");
	JPanel panel = new JPanel();

	public static void main(String[] args) {
	}
}
 

KingEldarion

Bekanntes Mitglied
So hier ist noch einmal der komplette Javacode:
(Fehler sind in Z.12 und 25)
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


public class Start extends JFrame implements ActionListener
{
	
	JButton butPlay;
	JButton butQuit;
	
	JLabel head = new JLabel("head");
	
	butPlay = new JButton("play");
	butQuit = new JButton("quit");
	


	
	
	
	
	JPanel headPanel = new JPanel();
	JPanel playPanel = new JPanel();
	JPanel quitPanel = new JPanel();
		
	
	public Start( String title )
	{
		setTitle( "Area of Strategie");
		setLayout( new FlowLayout() );
		
		
		headPanel.add( head );
		playPanel.add( butPlay );
		quitPanel.add( butQuit );
		
		
		setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
	    
		
		butQuit.addActionListener( this );
	    butPlay.addActionListener( this );
		
	}		
	   public void actionPerformed( ActionEvent evt)
	    {
	      // überprüfen, welcher Befehlsstring gesendet wurde
	      if ( evt.getActionCommand().equals( "play" ) )
	        getContentPane().setBackground(  Color.red  ) ;
	      else
	        getContentPane().setBackground( Color.green ) ;

	      repaint();
	    }
	   
	   public static void main ( String[] args )
	   {
	     Start frame  = new Start(null) ;
	     frame.setSize( 300, 225 );
	     frame.setResizable( false );
	     frame.setVisible( true );
	   }
		
	}

So hoffe damit könnt ihr mir weiterhelfen, die Fehler bestehen seitens eclipse an den Semikolons (;) jeweils am Ende der Zeilen.

MfG KingEldarion
 

Asgar13

Bekanntes Mitglied
Wobei es fragwürdig bleibt, warum nur Zeile 12 & 25 markiert werden.

Mach doch eine weitere Methode dafür:

Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
 
public class Start extends JFrame implements ActionListener
{
    
    JButton butPlay;
    JButton butQuit;
    JLabel head;
    JPanel headPanel;
    JPanel playPanel;
    JPanel quitPanel;
    
    public void instanzieren(){
    JLabel head = new JLabel("head");
    this.head = head;
    butPlay = new JButton("play");
    this.butPlay = butPlay;
    butQuit = new JButton("quit");
    this.butQuit = butQuit;    
    JPanel headPanel = new JPanel();
    this.headPanel = headPanel;
    JPanel playPanel = new JPanel();
    this.playPanel = playPanel;
    JPanel quitPanel = new JPanel();
    this.quitPanel = quitPanel;
    }

und dann aufrufen.
 

Andi_CH

Top Contributor
Zeile 14 und 15 sind falsch

Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

@SuppressWarnings("serial")
public class Start extends JFrame implements ActionListener {

	JLabel head = new JLabel("head");
	JButton butPlay = new JButton("play");
	JButton butQuit = new JButton("quit");
	JPanel headPanel = new JPanel();
	JPanel playPanel = new JPanel();
	JPanel quitPanel = new JPanel();

	public Start( String title ) {
		setTitle( "Area of Strategie");
		setLayout( new FlowLayout() );
		headPanel.add( head );
		playPanel.add( butPlay );
		quitPanel.add( butQuit );
		setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		butQuit.addActionListener( this );
		butPlay.addActionListener( this );
	}

	public void actionPerformed( ActionEvent evt) {
		// überprüfen, welcher Befehlsstring gesendet wurde
		if ( evt.getActionCommand().equals( "play" ) )
			getContentPane().setBackground(  Color.red  ) ;
		else
			getContentPane().setBackground( Color.green ) ;
		repaint();
	}

	public static void main ( String[] args ) {
		Start frame  = new Start(null) ;
		frame.setSize( 300, 225 );
		frame.setResizable( false );
		frame.setVisible( true );
	}
}

EDIT: Grummel - kommt davon wenn man während dem Tippen noch Anrufe beantwortet ;-)
Der Fehler ist übrigens so banal, dass man den einfach übersehen muss ;-)
 

jgh

Top Contributor
wie einige schon gesagt haben, du darfst nicht einfach in der Klasse eine Variable initialisieren.
Beim Deklarieren darfst du initalisieren, aber nicht erst deklarieren und irgendwann initialisieren.
Oder du lagerst es in eine Methode aus...

[java=9]JButton butPlay = new JButton("play");
JButton butQuit = new JButton("quit");[/code]
 

KingEldarion

Bekanntes Mitglied
Ne ich habe ein neues Problem, habs aber noch nicht gepostet weil ich dachte ich könnts selber lösen dem ist aber net so:

Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


public class Start extends JFrame implements ActionListener
{
	
	JButton butPlay;
	JButton butQuit;
		

	public Start( String title )
	{
		setTitle( "Test" );
		setLayout( new FlowLayout() );
		
		JLabel head = new JLabel("head");
		
		butPlay = new JButton("play");
		butQuit = new JButton("quit");
		
		JPanel headPanel = new JPanel();
		JPanel playPanel = new JPanel();
		JPanel quitPanel = new JPanel();
		
		
		headPanel.add( head );
		playPanel.add( butPlay );
		quitPanel.add( butQuit );
		
		
		setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
	    
		
		butQuit.addActionListener( this );
	    butPlay.addActionListener( this );
		
	}		
	   public void actionPerformed( ActionEvent evt)
	    {
	      // überprüfen, welcher Befehlsstring gesendet wurde
	      if ( evt.getActionCommand().equals( "play" ) )
	        getContentPane().setBackground(  Color.red  ) ;
	      else
	        getContentPane().setBackground( Color.green ) ;

	      repaint();
	    }
	   
	   public static void main ( String[] args )
	   {
	     Start frame  = new Start(null) ;
	     frame.setSize( 300, 225 );
	     frame.setResizable( false );
	     frame.setVisible( true );
	   }
		
	}

Die Buttons werden garnicht angezeigt?

Was ist falsch?
 

jgh

Top Contributor
Du hast nur vergessen, deine 3 JPanels deinem JFrame zu adden:

[JAVA=32] add(headPanel);
add(playPanel);
add(quitPanel);
[/code]
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Main Methode scheint Constructor aufzurufen, ohne dass es so gecoded ist Java Basics - Anfänger-Themen 2
N Throw an Main Methode übergeben Java Basics - Anfänger-Themen 7
J Die statische Main-Methode ändert Instanzvariable? Java Basics - Anfänger-Themen 10
I Jetty starten von Programm (Main) Java Basics - Anfänger-Themen 27
Denix The public type Main must be defined in its own fileJava(16777541) Java Basics - Anfänger-Themen 13
D Array in Main Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 3
G jButton führt Main Methode nicht richtig aus Java Basics - Anfänger-Themen 3
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
C60 Methoden Main-Methode erkennt meine Arrays nicht. Java Basics - Anfänger-Themen 7
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
M Exception in thread "main" java.util.NoSuchElementException Java Basics - Anfänger-Themen 2
W Verschiedene Methoden in einer Klasse in der Main aufrufen? Java Basics - Anfänger-Themen 8
S Array über ein Ausgabemethode in main ausgeben Java Basics - Anfänger-Themen 31
C Kein Zugriff auf Klassenmethoden in Main Methode Java Basics - Anfänger-Themen 23
N Wozu nutzt man in der Main Methode das args Array? Java Basics - Anfänger-Themen 10
NaZuRe Geld(Wert) von der public static void main in die public static void Blackjack Java Basics - Anfänger-Themen 2
H Warum kann man keine Parameter in die main-Methode packen? Java Basics - Anfänger-Themen 4
J In main() Datei geöffnet, von anderer Funktion beschreiben Java Basics - Anfänger-Themen 3
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
KogoroMori21 Methode in der main ausgeben Java Basics - Anfänger-Themen 2
s_1895 zu viele Zeilen in der Main Methode Java Basics - Anfänger-Themen 4
C Methodenrückgabe wird in der main nicht berücksichtigt Java Basics - Anfänger-Themen 2
B Wie kann ich etwas vor der Main-Methode ausführen? Java Basics - Anfänger-Themen 21
K Übergabe des Wertes einer Variable aus main() in eine Klassenmethode Java Basics - Anfänger-Themen 8
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
T Main startet nicht bei vorgegebenen Code Java Basics - Anfänger-Themen 41
G main Methode Java Basics - Anfänger-Themen 5
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
1 main-Methode erweitern, Nachfrage nach wiedeholung Java Basics - Anfänger-Themen 2
J main methode Java Basics - Anfänger-Themen 1
B No Main Classes Found Java Basics - Anfänger-Themen 7
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
E Was kommt in ein Objekt und was in die Main Methode? Java Basics - Anfänger-Themen 8
D java main methode kann nicht kompiliert werden (Erstellen eines Objekts) Java Basics - Anfänger-Themen 6
M String außerhalb der main-Methode Java Basics - Anfänger-Themen 4
scratchy1 ArrayOutOfBoundException in main-Methode Java Basics - Anfänger-Themen 17
B File öffnen in src/main/webapp Java Basics - Anfänger-Themen 4
P Parameterübergabe, von Methode zu Methode zu main Java Basics - Anfänger-Themen 4
J Kapselung Array in Set ändern und in Main ausgeben lassen Java Basics - Anfänger-Themen 4
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
V Collections Objekte einer ArrayList in der main() ausgeben Java Basics - Anfänger-Themen 9
D Compiler-Fehler Aufrufen einer Methode von Main Java Basics - Anfänger-Themen 4
G Was als main Method Java Basics - Anfänger-Themen 6
M Methode mit Array als Parameter an Main übergeben Java Basics - Anfänger-Themen 1
W Exception in Main abfangen oder in der Methode? Java Basics - Anfänger-Themen 10
J Timer bauen, Main Methode immer wieder neu starten Java Basics - Anfänger-Themen 13
J Compiler-Fehler Java findet main Klasse nicht Java Basics - Anfänger-Themen 16
B Parameterübergabe in main Java Basics - Anfänger-Themen 1
A Variablen Main Klasse soll auf eine andere Klasse zugreifen Java Basics - Anfänger-Themen 3
I java.lang.ArrayIndexOutOfBoundsException at lösung.main Java Basics - Anfänger-Themen 3
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
J Frage zu: public static void main (String[]args) Java Basics - Anfänger-Themen 1
J Parameter in main verwenden Java Basics - Anfänger-Themen 3
M Methodenaufruf in der Main Datei funzt nicht Java Basics - Anfänger-Themen 13
M Maven Main-Methode Interface und Klasse Java Basics - Anfänger-Themen 2
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
G Instanzvariable in main-Methode verboten? Java Basics - Anfänger-Themen 3
M Objekt starten von der main-Methode Java Basics - Anfänger-Themen 1
S Fehler: Editor does not contain a main type Java Basics - Anfänger-Themen 3
G Programm wird nicht ausgeführt: Editor does not contain a main type Java Basics - Anfänger-Themen 10
A Methode aufrufen in main-Methode Java Basics - Anfänger-Themen 5
B Linux - Error: Could not find or load main class application.Main Java Basics - Anfänger-Themen 28
C Erste Schritte (Netbeans) no main classes found Java Basics - Anfänger-Themen 5
U Klassen IntelliJ14.1.1 Ultimate startet eine Main-Klasse NICHT MEHR Java Basics - Anfänger-Themen 0
P Methoden private int[] in main Java Basics - Anfänger-Themen 16
W JLabel in Main aus Thread verändern. Java Basics - Anfänger-Themen 4
AssELAss Klassen Java Klasse in main-methode ausführen Java Basics - Anfänger-Themen 7
R Methoden Nicht statische Methode aus Main aufrufen Java Basics - Anfänger-Themen 2
P could not find main class obwohl da Java Basics - Anfänger-Themen 17
J Methode in main-Methode aufrufen Java Basics - Anfänger-Themen 5
B OOP Wie benutze ich die Main Funktion richtig? Java Basics - Anfänger-Themen 10
M Klassen Main Methode in einer anderen Klasse aufrufen Java Basics - Anfänger-Themen 13
TheMenox Methoden Auslagerung von Code aus der "main" Methode sinnvoll? Java Basics - Anfänger-Themen 70
quecksilver if-Abfrage in main ausführen Java Basics - Anfänger-Themen 4
J Exception in thread "main" Java Basics - Anfänger-Themen 1
S Methode auf Main zugreifen Java Basics - Anfänger-Themen 5
D String aus Main in Klasse übergeben Java Basics - Anfänger-Themen 4
S Methoden main-Methode integrieren Java Basics - Anfänger-Themen 2
K Methoden Programm ohne Main Methode starten Java Basics - Anfänger-Themen 2
I Fehlermeldung: Java does not contain a main type Java Basics - Anfänger-Themen 1
B ja ja schon wieder einer mit einer public static void main(string[] args) Frage... Java Basics - Anfänger-Themen 8
F Erste Schritte (Gelöst) Anfängerfrage Arraylist ausserhalb der Main Methode Java Basics - Anfänger-Themen 2
N Variablen Variable in Main deklarieren und in anderer Methode nutzen Java Basics - Anfänger-Themen 12
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
R window-Klasse, main-loop und unausschaltbares anti-aliasing Java Basics - Anfänger-Themen 0
T Mehrere Methoden in der main-Methode verknüpfen und aufeinander anwenden Java Basics - Anfänger-Themen 2
P Compiler-Fehler Could not load or find main class fehler Java Basics - Anfänger-Themen 15
S Selection does not contain a main type! Java Basics - Anfänger-Themen 5
A Methoden Zugriff auf eingelesene Variablen in der main Methode (ohne Änderung der Parameterliste) Java Basics - Anfänger-Themen 4
N Threads Exception in thread "main"... Feher bei dem Versuch ein Radius zu berechnen Java Basics - Anfänger-Themen 4
P Compiler-Fehler could not find or load main class Java Basics - Anfänger-Themen 5
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
U Umschreiben ohne main methode ;-) Java Basics - Anfänger-Themen 8
A Fehlermeldung beim aufruf der main Methode Java Basics - Anfänger-Themen 17
P Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 1
F Implementierung von Interfaces -> Problem mit main Java Basics - Anfänger-Themen 12
F Threads Variable aus einem Thread in main Methode? Java Basics - Anfänger-Themen 9
K Exception in thread "main" Java Basics - Anfänger-Themen 7
B Java Programm ohne statische Main Methode aufrufen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben