JPanel "klickundruchlässig" machen

Hallo Community,

Ich habe ein kleines Problem bei Java.
Um dieses Problem zu veranschaulichen habe ich ein kleines Programm geschrieben.

		setBounds(100, 100, 856, 650);
		getContentPane().setLayout(null);
		
		final JPanel panel = new JPanel();
		/**panel.addMouseListener(new MouseAdapter() {
			@Override
			public void mousePressed(MouseEvent e) {
				if(panel.getBackground().equals(Color.BLUE)){
					panel.setBackground(Color.GREEN);
				}else{
					panel.setBackground(Color.BLUE);
				}
				repaint();
			}
		});*/
		panel.setBackground(Color.BLUE);
		panel.setBounds(135, 169, 131, 124);
		getContentPane().add(panel);
		
		final JPanel panel_1 = new JPanel();
		panel_1.setBackground(Color.GRAY);
		panel_1.setBounds(205, 225, 137, 124);
		panel_1.addMouseListener(new MouseAdapter() {
			@Override
			public void mousePressed(MouseEvent e) {
				if(panel_1.getBackground().equals(Color.GRAY)){
					panel_1.setBackground(Color.BLACK);
				}else{
					panel_1.setBackground(Color.GRAY);
				}
				repaint();
			}
		});
		getContentPane().add(panel_1);```

In diesem liegen zwei JPanels halb überlappend auf dem ContentPane.
Mein Problem ist, dass das unten liegende JPanel auch an der Stelle anklickbar ist, an der es, vom oben liegendem JPanel verdeckt ist.
Bisher kann ich das nur verhindern, indem ich dem oberen JPanel ein Mouselistener anhänge (ausgeklammerter Teil). o.O

Gibt es dazu irgendeine bessere Lösung?
Vielen Dank schon im voraus,

HaveANiceDay

Die Panels nicht überlappen lassen bzw. nicht mit Komponenten und Null Layout arbeiten. :wink: Was hast vor bzw. was willst Du darstellen?
Ansonsten bleibt Dir nichts anderes übrig als das MouseEvent abzufangen.

[QUOTE=_Michael;75586]Die Panels nicht überlappen lassen bzw. nicht mit Komponenten und Null Layout arbeiten. :wink: Was hast vor bzw. was willst Du darstellen?
Ansonsten bleibt Dir nichts anderes übrig als das MouseEvent abzufangen.[/QUOTE]

In meinem richtigen Programm habe ich verschiedene Komponenten auf dem Bildschirm.
Wenn ich nun auf eine bestimmte Komponente klicke, soll von oben ein Auswahlmenü runterfahren, auf welchem verschiedene Knöpfe sind.
Es soll aber nicht möglich sein, durch das Auswahlmenü immer noch auf die anderen Komponenten zu klicken, die unter diesem liegen. (also gar nicht sichtbar sind)

[Edit] 16.00 19.11.2013
Wie schaffe ich es denn ein MouseEvent abzufangen?
Kann ich einem JPanel die Eigenschaft geben, alle MouseEvents abzufangen?
Fängt es die MouseEvents ab, wenn ich im ein MouseListener anhänge?

Und an den Elementen im Auswahlmenü hängt kein MouseListener? Wie wird da die Auswahl getroffen?

Kann man das Auswahlmenü durch ein JPopupMenu realisieren?
Alternativ das “Auswahlmenü” auf ein JPanel packen und diesem einen leeren MouseAdapter zuweisen.

Evtl. ist es besser gar keine Teil-Komponenten zu verwenden und alles auf einer Komponete abbzubilden in der man das besser unter Kontrolle hat… hängt halt davon ab was du da konkret umsetzen willst.

ok.
Ich werde versuchen das umzusetzen

Vielen Dank
HaveANiceDAy

http://www.java2s.com/Code/Java/Swing-JFC/Showhowaglasspanecanbeusedtoblockmouseandkeyevents.htm

bye
TT