JPanels in JFrame einfügen

Wenn ich das jetzt richtig verstehe, willst du mir sagen, dass die Buttons auch aktiviert werden würden, wenn der entsprechende Layer nicht im Vordergrund ist? Das wusste ich nicht, wenn du wirklich so ist will ich nix gesagt haben ;)

erstens die mein Main Meehode
Java:
public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Hauptfenster hauptfenster = Hauptfenster.getHauptfenster();
		hauptfenster.setVisible(true);
		

	}

}

wenn das programm gestartet wird sind die Buttons aktiviert, das problem ist wenn man button1 klickt bekommt man panel1 (ich bin button1), wenn man zur hauptauswahl zurückkehrt und button2 klickt bekommt man panel1 (ich bin button1)
ich gleube es geht um Remove******
hat jemand eine Idee****
 
Zuletzt bearbeitet:
@TO
HonniCilest meinte MICH mit dem JLayeredPane ... das war eigentlich kein Post für dich ... daher versteh ich dein Quote auch nicht.
Und JA ... es liegt am FEHLENDEN remove ... wie ich oben bereits geschrieben habe ... bitte mal diese 5 Punkte umsetzen.
Außerdem kann man deine import-Anweisungen kürzen.
Java:
import java.awt.*;
import javax.swing.*;
import java.util.*;
reicht voll und ganz aus.
BTW : Satzzeichen sind keine Rudeltieren. Einfach reicht. *Und jetzt flame bitte nicht wegen meinen drei Punkten. Diese sind eigentlich als Auslassungszeichen gedacht, werden aber auch als Pausen interpretiert.*

@HonniCilest
Jop. Mach mal 2 JPanels und adde die einem JLayeredPane. Dem unteren fügst du einen JButton hinzu *am besten über BorderLayout.CENTER damit er das gesamte JPanel ausfüllt*. Dem oberen JPanel addest du garnichts. Jetzt starte das ganze mal ... du wirst sehen das der JButton reagiert. Wenn du das obere JPanel opaque machst dann siehst du sogar das sogar die Animation gezeichnet wird.
Adde dann mal dem oberen JPanel einfach ein MouseListener und fange alle Events ab *am besten dann einfach System.out.println()*. Dann reagiert der untere JButton nicht mehr da alle MouseEvents vom oberen JPanel aufgefangen werden.
Es steht auch in der Doc von MouseEvent das es an das erste Object durchgericht wird dessen Bounds die x und y Koordinaten umschlißen. Wobei das "ERSTE" dadurch "errechnet" wird welches am weitesten oben ist ... also das TOP-Object. Und wenn halt das TOP-Object trotzdem noch überzeichnet ist ... aber das drüberliegende Object keine MouseEvents fängt wird es bei der Ermittlung ignoriert.
 
Zuletzt bearbeitet von einem Moderator:
Um dir die lösung zu geben ...
Java:
public void zeigeHauptauswahlGui()
{
arbeitsflaeche.removeAll();
//rest
}
War das WIRKLICH so schwer ?
 
das funktioniert nicht
Java:
public void zeigeHauptauswahlGui()
{
arbeitsflaeche.removeAll();
//rest
}
wenn man button1 anklickt bekommt man panel1 (ich bin button 1), wenn man zum hauptauswahl zurückkehrt und button2 anklickt bekommt man WIEDER panel1 (ich bin button 1), ABER bei button2 muss (ich bin button 2) angezeigt werden.
ES GEHT JETZT DARUM; DASS ES BEI JEDEM BUTTON DIE JEWEILIGE PANEL ANGEZEIGT WIRD:
 
Zuletzt bearbeitet:
Ok ... wie wäre es wenn du am besten einfach mal GANZ GENAU beschreibst was du erreichen willst und wir geben dir Hinweise für einen funktionieren Code. Das damit natürlich verbunden ist den ganzen Code über den Haufen zu werfen und noch mal neu anzufangen ist logisch, denn ich glaube keiner will sich die Mühe machen deinen ziemlich schlechten Code auseinander zu nehemen. Sorry für die Wortwahl aber anderst kann ich das da nicht mehr bezeichnen weil die Lösung eigentlich sehr einfach ist. Und NEIN ... hoffe nicht darauf das sich hier jemand n Herz fasst und dir n KOMPLETTEN Code hinpostet ... denn davon lernst du es nicht.
 
die geschichte mit REMOVE habe ich gemcht bevor ich dieses problem veröffentlicht habe.
und hat nicht geklapt und jetzt meinen Sie dass das funktioniert!
 
SO kann das garnicht funktionieren ...
Ich hab jetzt echt die Schnauze voll .. ich schreib dir jetzt n funktionierendes Beispiel ...
Echt ... es kann nich wahr sein wie sich einigee echt anstellen ....
 
Zurück