BorderLayout fait quelque chose d'étrange. Si j'ajoute deux panneaux à un Container
avec la même contrainte (BorderLayout.CENTER
par exemple), alors le premier disparaît, même si le second est supprimé ou rendu invisiblePourquoi BorderLayout écrase-t-il les composants quand de nouveaux sont ajoutés?
Il semble que cela aurait du sens pour cela "empiler" chaque élément au-dessus des précédents.
Est-ce correct et voulu? Si oui, y a-t-il de la documentation?
Est-ce que quelqu'un d'autre a été frustré par cela? Avez-vous une solution, comme une coutume LayoutManager
?
Exemple de code:
JFrame frame = new JFrame();
frame.setSize(500, 500);
JPanel panel1 = new JPanel();
panel1.setBackground(Color.blue);
frame.getContentPane().add(panel1);
JPanel panel2 = new JPanel();
panel2.setBackground(Color.red);
frame.getContentPane().add(panel2);
panel2.setVisible(false); // Seems like it should allow us to see panel1.
frame.setVisible(true);
Cela crée et affiche une boîte vide 500x500.