Bonjour! Enfin Bonsoir ^^
Je viens demander votre aide parce que j'ai un petit (gros?) soucis avec mon JLayeredPane. Je fais d'abord un bref topo. J'ai une fenêtre d'édition d'image qui comprend un ScrollPane. Dans ce dernier, j'ai créé un JLayeredPane.
Ce dernier doit contenir un JLabel contenant l'image en cours d'édition ainsi que, par dessus, un JPanel contenant un rectangle.
Mais malheureusement, je ne parviens pas à superposer ces deux panels... Ils se mettent côte à côte.
Voici la portion de code qui me pose soucis:
J'ai tenté de définir la profondeur via la méthode add, ou via la méthode SetLayer, mais ça revient au même. J'ai tenté de changer le layout de centralPanel, mais ça ne fait rien de bon non plus (j'ai testé Flow, Border, et Box Layout. BoxLayout déclenche une exception disant qu'un BoxLayout ne peut être partagé).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 JScrollPane scrollPane = new JScrollPane(); final JLayeredPane centralPanel = new JLayeredPane(); scrollPane.setViewportView(centralPanel); editor.getContentPane().add(scrollPane); centralPanel.setLayout(new GridLayout(1,1)); //Afficher l'image que l'on souhaite éditer imageLabel = new JLabel(); imageLabel.setIcon(new ImageIcon(getParentFrame().stock.getImageOriginale(path))); imageLabel.setHorizontalAlignment(JLabel.CENTER); imageLabel.setVerticalAlignment(JLabel.CENTER); centralPanel.add(imageLabel); centralPanel.setLayer(imageLabel, 0); //préparer d'ores et déjà le panel qui contient le rectangle de sélection, //mais ne pas l'afficher selectionPanel = new SelectionPanel(); selectionPanel.setVisible(false); centralPanel.add(selectionPanel); centralPanel.setLayer(selectionPanel, 1);
Merci d'avance!
Partager