import
java.awt.*;
import
java.awt.event.ActionEvent;
import
java.awt.event.ActionListener;
import
javax.swing.*;
public
class
LayeredPaneMethodsExample {
public
static
void
main(String[] args)
{
JFrame frame =
new
JFrame(
"JLayeredPane Example"
);
frame.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);
frame.setSize(
400
,
400
);
JLayeredPane layeredPane =
new
JLayeredPane();
frame.add(layeredPane);
JPanel panel1 = createColoredPanel(Color.RED,
100
,
100
,
200
,
200
);
JPanel panel2 = createColoredPanel(Color.GREEN,
150
,
150
,
200
,
200
);
JPanel panel3 = createColoredPanel(Color.BLUE,
200
,
200
,
200
,
200
);
layeredPane.add(panel1, JLayeredPane.DEFAULT_LAYER);
layeredPane.add(panel2, JLayeredPane.PALETTE_LAYER);
layeredPane.add(panel3, JLayeredPane.MODAL_LAYER);
JButton getInfoButton =
new
JButton(
"Click here to get Layer Information"
);
getInfoButton.setBounds(
10
,
10
,
100
,
30
);
frame.add(getInfoButton);
getInfoButton.addActionListener(
new
ActionListener() {
@Override
public
void
actionPerformed(ActionEvent e)
{
int
index = layeredPane.getIndexOf(panel2);
int
layer = layeredPane.getLayer(panel2);
int
position = layeredPane.getPosition(panel2);
JOptionPane.showMessageDialog(
null
,
"Index: "
+ index
+
"\nLayer: "
+ layer +
"\nPosition: "
+ position);
}
});
frame.setVisible(
true
);
}
private
static
JPanel createColoredPanel(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;
}
}