Fenster wird nicht gefunden!

Status
Nicht offen für weitere Antworten.

Der Programmierer

Aktives Mitglied
Hi,

ich habe vor kurzem wieder angefangen Java zu programmieren (nachdem es irgendwann in ferner Vergangenheit mal von mir benutzt wurde und ich danach auf den dunklen Pfaden des C++ wandelte). Ich steh praktisch wieder bei 0. Aber ich konnte noch nie gut Java!
Ich hab mein Java Buch (Jetzt lerne ich Java5) aus dem Regal gekramt und wieder losgelegt undn bisschen mit rum gebastelt.

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





	
	



public class CHalloWelt extends JFrame 
{
	JMenuBar menueleiste = new JMenuBar();     //Erstelle Menue
	Leinwand bildanzeige;
	
	
             
	class CMeinActionLauscher implements ActionListener 
	{
		public void actionPerformed(ActionEvent e)
		{
			

			
		}
	}
	
	CHalloWelt(String titel)
	{
		super(titel);

		JMenu menu1 = new JMenu("Datei");	                          
		JMenu menu2 = new JMenu("Bearbeiten");
		JMenu menu3 = new JMenu("Einfügen");
		JMenu menu4 = new JMenu("Hintergrund");

		JMenuItem Ditem1 = new JMenuItem("Neu");
		JMenuItem Ditem2 = new JMenuItem("Öffnen");
		JMenuItem Ditem3 = new JMenuItem("Speichern");
	

		menu1.add(Ditem1);  
		menu1.add(Ditem2);
		menu1.add(Ditem3);
                                               
		menueleiste.add(menu1);
		menueleiste.add(menu2);
		menueleiste.add(menu3);
		menueleiste.add(menu4);
		

		setLayout(new FlowLayout());

		setJMenuBar(menueleiste);

		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

		bildanzeige = new Leinwand();
		add(bildanzeige);

	
	}
	
		



	
	public static void main(String[] args) 
        {
		
		
		CHalloWelt fenster = new CHalloWelt("WinPräsentation");
		fenster.pack();
		fenster.setSize(1024,768);
		fenster.setVisible(true);
	}


 	 class CBildLeinwand extends JPanel 
	 {
		
		ImageIcon background1 = new ImageIcon("Data/Background/0.jpg");
		Image     Background  = background1.getImage();
    		
    	 	public void paintComponent(Graphics g) 
		{
      			super.paintComponent(g);

    
	      
        		g.drawImage(Background,0,0,this);
    		}

    		public Dimension getMinimumSize() 
		{
     			 return fenster.getSize();     <----- !!! Fehlermeldung Cannot find symbole!!!
   		}
   		
		public Dimension getPreferredSize() 
		{
      			return getMinimumSize();
    		}

		
	}	
	

		
        


		
}

An der makierten Stelle spuckt er eine Fehlermeldung aus Can not find symbol Fenster.
Ich hab mich dabei jedoch ziemlich an die Klassen im Buch gehalten umso mehr verwirrt mich die Fehlermeldung
???:L

Ich bin dankbar für jeder Form der Hilfe.

Schonmal danke im vorraus
Der Programmierer
 

Wildcard

Top Contributor
Du deklarierst fenster in der main Methode:
Code:
CHalloWelt fenster = new CHalloWelt("WinPräsentation");
Ausserhalb von main ist diese Variable nicht sichtbar.
 

Der Programmierer

Aktives Mitglied
tut mir wirklich leid dass ich nochmal nerve aber
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;





	
	



public class CHalloWelt extends JFrame 
{
	CHalloWelt fenster ;
	JMenuBar menueleiste = new JMenuBar();     //Erstelle Menue
	Leinwand bildanzeige;
	


	
	
             
	class CMeinActionLauscher implements ActionListener 
	{
		public void actionPerformed(ActionEvent e)
		{
			

			
		}
	}
	
	CHalloWelt(String titel)
	{
		super(titel);
		JMenu menu1 = new JMenu("Datei");	                          
		JMenu menu2 = new JMenu("Bearbeiten");
		JMenu menu3 = new JMenu("Einfügen");
		JMenu menu4 = new JMenu("Hintergrund");

		JMenuItem Ditem1 = new JMenuItem("Neu");
		JMenuItem Ditem2 = new JMenuItem("Öffnen");
		JMenuItem Ditem3 = new JMenuItem("Speichern");
	

		menu1.add(Ditem1);  
		menu1.add(Ditem2);
		menu1.add(Ditem3);
                                               
		menueleiste.add(menu1);
		menueleiste.add(menu2);
		menueleiste.add(menu3);
		menueleiste.add(menu4);
		

		setLayout(new FlowLayout());

		setJMenuBar(menueleiste);

		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

		bildanzeige = new Leinwand();
		add(bildanzeige);


		
		
		


	
	}
	
		



	
	public static void main(String[] args) 
        {	
			
			fenster = new CHalloWelt("WinPräsentation");
			fenster.pack();
			fenster.setSize(1024,768);
			fenster.setVisible(true);			
			
	}


 	 class CBildLeinwand extends JPanel 
	 {
	
		
		ImageIcon background1 = new ImageIcon("Data/Background/0.jpg");
		Image     Background  = background1.getImage();

    		
    	 	public void paintComponent(Graphics g) 
		{
      			super.paintComponent(g);

    
	      
        		g.drawImage(Background,0,0,this);
    		}

    		public Dimension getMinimumSize() 
		{
     			 return fenster.getSize();
   		}
   		
		public Dimension getPreferredSize() 
		{
      			return getMinimumSize();
    		}

		
	}	
	
das müsste doch gehen. Aber jetzt klappt gar nix mehr und das programm startet nicht mal
		
        


		
}
 

Wildcard

Top Contributor
Die Fehlermeldung solltest du immer dazu posten.
Kann mir nicht vorstellen dass das in C++ Foren anders war :wink:
 

Der Programmierer

Aktives Mitglied
Oh sorry hatte ich ganz vergessen. Nein es war in C++ foren natürlich nicht anders ;-)


CHalloWelt.java:84: non-static variable fenster cannot be referenced from a stat
ic context
fenster = new CHalloWelt("WinPrõsentation");
^
CHalloWelt.java:85: non-static variable fenster cannot be referenced from a stat
ic context
fenster.pack();
^
CHalloWelt.java:86: non-static variable fenster cannot be referenced from a stat
ic context
fenster.setSize(1024,768);
^
CHalloWelt.java:87: non-static variable fenster cannot be referenced from a stat
ic context
fenster.setVisible(true);
^
4 errors

D:\PROJEKTE>
 

Wildcard

Top Contributor
Was dir der Fehler zu sagen versucht ist, das du dich in der main Methode in einem statischen Kontext befindest, und daher nicht auf Dinge zugreifen kannst die nicht statisch sind (woher sollte in einem statischen Kontext auch bekannt sein welche Instanz von CHalloWelt du denn eigentlich ansprechen willst).
Diese fenster Variable ist IMO auch unnötig, warum sollte dein CHalloWelt Objekt denn ein Objekt von sich selbst speichern?
 

Der Programmierer

Aktives Mitglied
Diese fenster Variable ist IMO auch unnötig, warum sollte dein CHalloWelt Objekt denn ein Objekt von sich selbst speichern?

oben ging ja die klasse CBildLeinwand nicht weil der nicht auf fenster zugreifen konnte. Deshalb hab ich das in CHallOWelt definiert, damit ich draufzugreifen kann.
Aber welche Lösung sollte ich den sonst verwenden?
Wenn ich jetzt das fenster in der main funktion definiere ist meine CBildleinwand wieder unglücklich und wenn ichs in CHalloWelt definiere dann heult sich die main funktion bei mir aus...? ???:L
 

Der Programmierer

Aktives Mitglied
Vielen Vilen Dank. Das klappt jetzt wunderbar nur leider muss ich euch mit noch einer kleinen nOOb Frage quälen

thx hab alles wunderbar gelöst nur ein Problem bleibt jetzt:

Mein Bild lässt sich wunderbar anzeigen wenn ich in der Menueleiste Hintergrund meine Stelle auswählen. Nur ist das Panel auf, dass ich zeichne nur sehr klein und man sieht das Bild kaum. Wenn ich das Bild vergrößere oder minimiere und wieder aufrufe dann hat es die richtige größe denn dann ruft er ja die PaintComponent methode auf die das panel unten ja auch der fenstergröße anpasst. Diese methode lässt sich ja aber nicht explizit aufrufen und dem Benutzer zuzumuten das er bei jedem bild das er auswählt erst minimieren muss, damit das bild richtig angezeigt wird will ich auch nicht. Daher die Frage ob ich irgendwie in meinem actionlistener die funktion paintcomponent explizit aufrufen kann oder ob es da eine andere möglichkeit gibt?

VIelen dank schonmal für die hilfe und schon mal danke im vorraus für eure hilfe
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;





	
	



public class CHalloWelt extends JFrame 
{
	
	JMenuBar menueleiste = new JMenuBar();     //Erstelle Menue
	static CHalloWelt fenster;
	static CBildLeinwand bildanzeige;
	ImageIcon background1 = new ImageIcon("Data/Background/0.jpg");
	Graphics g;
	Image Background;
			
	



	
	
             
	class ActionLauscher implements ActionListener 
	{
		public void actionPerformed(ActionEvent e)
		{
			String Label;
			Label = e.getActionCommand();

			if(Label.equals("Standard Hintergrund 1"))
			{
				Background  = background1.getImage();
				g.drawImage(Background,0,0,bildanzeige	);
				
			}
			
			

			
		}
	}
	
	CHalloWelt(String titel)
	{
		super(titel);
		JMenu menu1 = new JMenu("Datei");	                          
		JMenu menu2 = new JMenu("Bearbeiten");
		JMenu menu3 = new JMenu("Einfügen");
		JMenu menu4 = new JMenu("Hintergrund");
		
		//Datei
		JMenuItem Ditem1 = new JMenuItem("Neu");
		JMenuItem Ditem2 = new JMenuItem("Öffnen");
		JMenuItem Ditem3 = new JMenuItem("Speichern");

		//Hntergrund
		JMenuItem Hitem1 = new JMenuItem("Standard Hintergrund 1");

		menu1.add(Ditem1);  
		menu1.add(Ditem2);
		menu1.add(Ditem3);
		menu4.add(Hitem1);
                                               
		menueleiste.add(menu1);
		menueleiste.add(menu2);
		menueleiste.add(menu3);
		menueleiste.add(menu4);

		bildanzeige = new CBildLeinwand();
		add(bildanzeige);
		//Füge den einzelnen Menüpunkten Listener zu!
		Hitem1.addActionListener(new ActionLauscher());

		setLayout(new FlowLayout());

		setJMenuBar(menueleiste);

		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

		


		
		
		


	
	}
	
		



	
	public static void main(String[] args)
        {
				
			
			fenster = new CHalloWelt("WinPräsentation");
			fenster.pack();
			fenster.setSize(1024,768);
			fenster.setVisible(true);			
			
	}


 	

		
        


		


 	class CBildLeinwand extends JPanel 
	 	{
	
		
			

    		
    	 		public void paintComponent(Graphics g) 
			{
      				super.paintComponent(g);
				
				if(Background != null)
        			g.drawImage(Background,0,0,this);
    			}

    			public Dimension getMinimumSize() 
			{
     				 return fenster.getSize();
   			}
   		
			public Dimension getPreferredSize() 
			{
      				return getMinimumSize();
    			}

		
		}

}


:wink:
 

AlArenal

Top Contributor
Ich würde noch mehr Leerzeilen reinmachen, falls der Code ne plötzliche Fressattacke bekommt und Platz braucht... ;)
 

Der Programmierer

Aktives Mitglied
Ich würde noch mehr Leerzeilen reinmachen, falls der Code ne plötzliche Fressattacke bekommt und Platz braucht... icon_wink.gif

Ich finds so übersichtlicher :D (in meinen C++ codes siehts schlimmer aus) es wäre nett wenn du auch noch ne lösung zu meinem problem posten könntest! :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Fehlermeldung und Fenster wird nicht mehr angezeigt Java Basics - Anfänger-Themen 12
V Fenster wird nicht mittig platziert Java Basics - Anfänger-Themen 3
H Eclipse Fenster wird nicht angezeigt Java Basics - Anfänger-Themen 5
I JTable in neuem Fenster wird nicht aktualisiert Java Basics - Anfänger-Themen 4
G Inhalt von Fenster wird nicht angezeigt Java Basics - Anfänger-Themen 10
W Es wird erst gezeichnet, wenn ich das Fenster vergrößere? Java Basics - Anfänger-Themen 20
K Fenster wird deaktiviert! Java Basics - Anfänger-Themen 4
G Fenster wird deaktiviert Java Basics - Anfänger-Themen 6
M Eltern-Fenster wird auch geschlossen Java Basics - Anfänger-Themen 6
E Variable von 1. Fenster an 2. Fenster übergeben. Java Basics - Anfänger-Themen 7
javalux123 Keylistener auf andere Fenster Java Basics - Anfänger-Themen 3
T Java FXML selbes Fenster verschiedene Stellen im Programm Java Basics - Anfänger-Themen 5
B Scrollbares Fenster (JScrollPane) mit JPanel scrollt nicht Java Basics - Anfänger-Themen 3
J Überprüfen ob ein Fenster offen ist? Java Basics - Anfänger-Themen 8
T jOptionPane zum schließen von Fenster, wie "Ja" und "Nein" anstatt Yes und No Java Basics - Anfänger-Themen 2
JEP1 Java Dialog Fenster schließen Spiel Java Basics - Anfänger-Themen 0
H Eingabe tätigen bevor Graphics g Fenster öffnet Java Basics - Anfänger-Themen 5
celta_vigo Konsolen-Fenster ist weg Java Basics - Anfänger-Themen 5
Thomathy Interface Wie schließt man ein anderes JFrame Fenster? Java Basics - Anfänger-Themen 6
M PNG als Spieler im Fenster anzeigen Java Basics - Anfänger-Themen 4
S JOptionPane komplett leeres Fenster Java Basics - Anfänger-Themen 4
A Eclipse-Fenster starten statt Konsoleausgabe Java Basics - Anfänger-Themen 2
A Fenster bleibt weiß Java Basics - Anfänger-Themen 7
O Fenster programmieren Java Basics - Anfänger-Themen 2
M JavaFX: Fenster bleibt weiß Java Basics - Anfänger-Themen 3
A Fenster programmieren Java Basics - Anfänger-Themen 1
J JFrame Fenster öffnet sich nicht Java Basics - Anfänger-Themen 7
M aus Fenster anderes Fenster öffnen und wieder umgekehrt Java Basics - Anfänger-Themen 5
J Best Practice DOS Fenster mit Befehlszeile (Lösung) Java Basics - Anfänger-Themen 2
J Fenster wieder unsichtbar machen Java Basics - Anfänger-Themen 2
das_leon Gesamtes Programm in einem Fenster Java Basics - Anfänger-Themen 1
E Knopfdruck neues Fenster öffnen Java Basics - Anfänger-Themen 5
A Fenster mit Button aufrufen Java Basics - Anfänger-Themen 3
D Erste Schritte JPanel verschiebt Fenster via setVisible Java Basics - Anfänger-Themen 5
K Interface Fenster mit 3 ComboBoxen und 1 Button Java Basics - Anfänger-Themen 13
P Erste Schritte durch MenuBar verschiedene Fenster öffnen Java Basics - Anfänger-Themen 2
I Fenster A soll Fenster B schliessen Java Basics - Anfänger-Themen 5
D Java Fenster blockiert ? Java Basics - Anfänger-Themen 5
K Erste Schritte Neues Fenster mit Textinhalt öffnen Java Basics - Anfänger-Themen 6
M Code um per jButton ein neues Fenster zu öffnen Java Basics - Anfänger-Themen 3
A Popup-Fenster Java Basics - Anfänger-Themen 1
L Fenster auf Knopfdruck Java Basics - Anfänger-Themen 3
N Problem mit JOptionPane und Fenster-Fokus Java Basics - Anfänger-Themen 2
J ausgaben von der konsole in das fenster Java Basics - Anfänger-Themen 5
O Finally beim Fenster schliessen Java Basics - Anfänger-Themen 3
F Klassen Zugriff auf Fenster aus versch. Klassen Java Basics - Anfänger-Themen 5
P Eigenes Fenster erstellen Java Basics - Anfänger-Themen 5
M Input/Output Text auf Fenster zeichen Java Basics - Anfänger-Themen 2
T Zu viele Fenster - HILFE! Java Basics - Anfänger-Themen 5
J Extra Fenster (Frame) Java Basics - Anfänger-Themen 20
llabusch Fenster per Button verschieben Java Basics - Anfänger-Themen 5
llabusch Fenster um x Pixel verschieben Java Basics - Anfänger-Themen 4
P Window Builder Reiter im Fenster erstellen Java Basics - Anfänger-Themen 7
S Java Fenster Java Basics - Anfänger-Themen 2
D (zwei) Fenster mit unterschiedlicher Befüllung Java Basics - Anfänger-Themen 11
A JAVA Fenster in ein PDF Konvertieren Java Basics - Anfänger-Themen 1
A Erkennung eines Button im aktiven Fenster Java Basics - Anfänger-Themen 2
B Variable im Fenster anzeigen lassen? Java Basics - Anfänger-Themen 2
S Fenster ist zu groß Java Basics - Anfänger-Themen 8
O GUI: Eigene Fenster "Form"? Java Basics - Anfänger-Themen 13
X JFrame Fenster einzeln schließen Java Basics - Anfänger-Themen 2
I Einlese Abfrage zweier Variablen in einem Fenster Java Basics - Anfänger-Themen 6
F Erste Schritte Aktuelles Fenster durch Event schließen Java Basics - Anfänger-Themen 3
N Java Programm im CMD Fenster öffnen, wie? Java Basics - Anfänger-Themen 17
S Erste Schritte Fenster wechsel im Applet Java Basics - Anfänger-Themen 7
tuttle64 Keine Umlaute im Dos Fenster Java Basics - Anfänger-Themen 12
J Button nimmt das komplette Fenster ein?! Java Basics - Anfänger-Themen 5
M Beim Klicken auf X neues Fenster Java Basics - Anfänger-Themen 4
Athena Schlichtes Fenster mit Windowskomponenten Java Basics - Anfänger-Themen 3
H KeyListener auf ganzes Fenster setzen Java Basics - Anfänger-Themen 14
S Neues Fenster auf Knopfdruck Java Basics - Anfänger-Themen 12
J Button drücken neues Fenster?! Java Basics - Anfänger-Themen 5
A Login Fenster Java Basics - Anfänger-Themen 3
C Button - neues Fenster - Bestellung anzeigen Java Basics - Anfänger-Themen 10
Z GUI-Fenster leeren Java Basics - Anfänger-Themen 5
M Erste Schritte Probleme mit Fenster Schließen Java Basics - Anfänger-Themen 6
J ordentliche Fenster Java Basics - Anfänger-Themen 17
J Problem beim Fenster Java Basics - Anfänger-Themen 4
Z Login Fenster Java Basics - Anfänger-Themen 7
K Aus JFrame-Fenster SuM-Fenster öffnen geht nicht! Java Basics - Anfänger-Themen 8
T Client-Fenster bei Aufruf unvollständig Java Basics - Anfänger-Themen 12
O Größeres Fenster als angegeben?! Java Basics - Anfänger-Themen 2
J Eltern-Fenster ermitteln Java Basics - Anfänger-Themen 2
M Ausklappbares Fenster bei grafischem Taschenrechner Java Basics - Anfänger-Themen 2
P gui fenster nur einmal aufrufen Java Basics - Anfänger-Themen 5
P Im Fenster bleiben (swing) Java Basics - Anfänger-Themen 16
J Werte ins neue Fenster übertragen Java Basics - Anfänger-Themen 6
S Fenster richtig schließen Java Basics - Anfänger-Themen 8
M Einfacher Fenster-Ablauf Java Basics - Anfänger-Themen 5
M Timer-Thread in Swing öffnet jedes Mal ein neues Fenster Java Basics - Anfänger-Themen 6
J Zweimal im gleichen Paint-Fenster malen Java Basics - Anfänger-Themen 8
SexyPenny90 Wie erstelle ich ein extra Fenster mit einer Meldung Java Basics - Anfänger-Themen 2
S nur neu geöffnetes Fenster schließen Java Basics - Anfänger-Themen 3
J Willkürlich geöffnetes Fenster/Dialog anspielen? Java Basics - Anfänger-Themen 3
M OOP GUI - Fenster vererben? Java Basics - Anfänger-Themen 9
T fenster schliesen und mouse events in einer nicht abstrakten klasse Java Basics - Anfänger-Themen 6
M Erste Schritte Fenster Und VB Funktionen Java Basics - Anfänger-Themen 8
G Scrollbares Fenster bei mehr als 5 Objekten Java Basics - Anfänger-Themen 4
L Fenster winzig klein durch GridBagLayout Java Basics - Anfänger-Themen 3
R Welcher Layout Manager-für so ein Fenster? Java Basics - Anfänger-Themen 5

Ähnliche Java Themen


Oben