package de.kneitzel;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class OverlappingPanels {
private JPanel panel1, panel2;
private JFrame mainWindow;
public OverlappingPanels() {
mainWindow = new JFrame();
mainWindow.setTitle("Overlapping Panels");
mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainWindow.setSize(300, 300);
mainWindow.setLocationRelativeTo(null);
panel1 = createPanel(Color.RED, 0, 0, 100, 100);
panel2 = createPanel(Color.GREEN, 50, 50, 100, 100);
mainWindow.getContentPane().setLayout(null);
mainWindow.getContentPane().add(panel1);
mainWindow.getContentPane().add(panel2);
panel1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
panel1.getParent().setComponentZOrder(panel1, 0);
mainWindow.repaint();
}
});
panel2.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
panel2.getParent().setComponentZOrder(panel2, 0);
mainWindow.repaint();
}
});
mainWindow.setVisible(true);
}
private JPanel createPanel(Color color, int x, int y, int width, int height) {
JPanel panel = new JPanel();
panel.setBackground(color);
panel.setBounds(x, y, width, height);
return panel;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
OverlappingPanels overlappingPanels = new OverlappingPanels();
});
}
}