В настоящее время я делаю настольную игру, похожую на шахматы, поэтому я сделал поле 11 * 11. В каждом поле должна быть кнопка JButton (на уровне по умолчанию), а на более высоком уровне — подвижная метка JLabel. Но этикетка все равно отталкивает кнопку. Вот упрощенный код:
public class Demo {
public static void main(String[] args) {
ImageIcon image = new ImageIcon("C:src\\myImage.png");
JFrame frame = new JFrame();
JPanel mainPanel = new JPanel();
JLayeredPane[] tileLayeredPane = new JLayeredPane[121];
JButton button = new JButton();
JLabel label = new JLabel();
label.setIcon(image);
button.setText("I am not visible!");
for (int i = 0; i < tileLayeredPane.length; i++) { // creates 121 JLabels
tileLayeredPane[i] = new JLayeredPane();
tileLayeredPane[i].setLayout(new BoxLayout(tileLayeredPane[i], BoxLayout.Y_AXIS));
tileLayeredPane[i].setOpaque(true);
}
tileLayeredPane[0].add(button, JLayeredPane.DEFAULT_LAYER);
tileLayeredPane[0].add(label, JLayeredPane.PALETTE_LAYER);
mainPanel.setLayout(new GridLayout(11, 11));
for(int i = 0; i < 121; i++) {
mainPanel.add(tileLayeredPane[i]);
}
frame.add(mainPanel);
frame.setVisible(true);
}
}
121
JLayeredPane
s? - person MadProgrammer   schedule 11.08.2018