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