Bonjour,
Je suis perdue au milieu de mes couches..
L'idee est la suivante: je dois afficher une table (JTable) dans une JLayeredPane (necessite d avoir des couches)
L affichage du header se fait separement, car pour que la table "s etale", je la met dans un panel, qui empeche l affichage du header. Je le rajoute donc a la main.
J ai donc le code suivant
Vous suivez? bien, je continue. Ceci marche tres bien, sauf que mon header fait partie de la scrollPane. Quand on descend le scroll, on ne le voit donc plus.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 // afficher l arbre avec une barre de defilement JPanel panel= new JPanel(new BorderLayout()); panel.add(table, BorderLayout.CENTER); panel.add(table.getTableHeader(), BorderLayout.NORTH); scrollPane.setViewportView(scrollPanel); JLayeredPane layer = new JLayeredPane(); layer.add(scrollPane, JLayeredPane.DEFAULT_LAYER); layer.setOpaque(true); // le panel que je retourne contenant la table JPanel returnPanel = new JPanel(new java.awt.BorderLayout()); returnPanel.add(layer,BorderLayout.CENTER); return returnPanel;
J ai donc essaye ceci
Ce qui n affiche plus rien, que du gris :cry:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 // afficher l arbre avec une barre de defilement JPanel panel= new JPanel(new BorderLayout()); panel.add(table, BorderLayout.CENTER); scrollPane.setViewportView(scrollPanel); // NOUVEAU PANEL INTERMEDIAIRE JPanel interPanel = new JPanel(new BorderLayout()); interPanel.add(table.getTableHeader(), BorderLayout.NORTH); interPanel.add(scrollPane, BorderLayout.CENTER); JLayeredPane layer = new JLayeredPane(); layer.add(interPanel, JLayeredPane.DEFAULT_LAYER); layer.setOpaque(true); // le panel que je retourne contenant la table JPanel returnPanel = new JPanel(new java.awt.BorderLayout()); returnPanel.add(layer,BorderLayout.CENTER); return returnPanel;
A n y rien comprendre.. en tout cas pour moi! mais vous?