Bonjour,
J'ai un souci avec un jscrollPane que je n'arrive pas à passer en position haute, j'ai tout essayé:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
setValue(0);
setCaretPosition(0);
getViewport().setViewPosition(new Point(0,0));
Enfin tout...

Une seule chose fonctionne pour le mettre en haut c'est l'utilisation d'un showMessageDialog, mais j'aurais préférer éviter...

Voilà une partie de mon code:

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
public class fenetre_departement {
 
    private static final long serialVersionUID = 1L;
    private JPanel container = new JPanel();
 
    private Vector<Component> sous_titreComp = new Vector<Component>();
 
    public JPanel getContainer() {
        return container;
    }
 
    public void setContainer(JPanel container) {
        this.container = container;
    }
 
    private ImageIcon icon;
    private ImageIcon icon2;
    private ImageIcon icon3;
    private JTextArea titre = new JTextArea("");
    private JTextArea texte = new JTextArea("");
    private JTextArea titre2 = new JTextArea("");
    private JTextArea texte2 = new JTextArea("");
    private JTextArea titre3 = new JTextArea("");
    private JTextArea texte3 = new JTextArea("");
    private JTextArea titre4 = new JTextArea("");
    private JTextArea texte4 = new JTextArea("");
    private JTextArea titre5 = new JTextArea("");
    private JTextArea texte5 = new JTextArea("");
    private JTextArea titre6 = new JTextArea(":");
    private JTextArea texte6 = new JTextArea("");
    private JTextArea titre7 = new JTextArea("");
    private JTextArea texte7 = new JTextArea("");
 
    private JScrollBar ascenceur;
 
    private JScrollPane dipScroll;
 
    public JScrollPane getDipScroll() {
        return dipScroll;
    }
 
    public void setDipScroll(JScrollPane dipScroll) {
        this.dipScroll = dipScroll;
    }
 
    private Color sous_titre;
 
    public fenetre_departement(){
 
    container.setLayout(new BorderLayout());
 
 
 
    //Construction du header
    JPanel top = new JPanel();
    icon = new ImageIcon(getClass().getResource("/images/header_small.jpg"),"Liste des étudiants");
    JLabel lbli2 = new JLabel(icon);
    top.add(lbli2);
 
    //construction du panneau central
    JPanel middle = new JPanel();
    middle.setLayout(new BoxLayout(middle,BoxLayout.PAGE_AXIS));
    titre.setOpaque(false);
    titre.setEditable(false);
    titre.setFont(new Font("Arial",Font.BOLD,16));
    //construction du panneau intermédiaire inclus dans le panneau central
    JPanel col1 = new JPanel();
    col1.setLayout(new BorderLayout());
    icon2 = new ImageIcon(getClass().getResource("/images/logo_dis.jpg"),"Liste des étudiants");
    JLabel lbli3 = new JLabel(icon2);
    texte.setOpaque(false);
    texte.setEditable(false);
    middle.add(titre);
    col1.add(lbli3, BorderLayout.WEST);
    col1.add(texte, BorderLayout.CENTER);
    middle.add(col1);
    //construction des paragraphes de fin de panneau central
    titre2.setOpaque(false);
    titre2.setEditable(false);
    middle.add(titre2);
    texte2.setOpaque(false);
    texte2.setEditable(false);
    middle.add(texte2);
    titre3.setOpaque(false);
    titre3.setEditable(false);
    middle.add(titre3);
    //construction du panneau intermédiaire inclus dans le panneau central
    JPanel col2 = new JPanel();
    col2.setLayout(new BorderLayout());
    icon3 = new ImageIcon(getClass().getResource("/images/photo.png"),"Liste des étudiants");
    JLabel lbli4 = new JLabel(icon3);
    texte3.setOpaque(false);
    texte3.setEditable(false);
    col2.add(lbli4, BorderLayout.EAST);
    col2.add(texte3, BorderLayout.WEST);
    middle.add(col2);
    titre4.setOpaque(false);
    titre4.setEditable(false);
    middle.add(titre4);
    texte4.setOpaque(false);
    texte4.setEditable(false);
    middle.add(texte4);
    titre5.setOpaque(false);
    titre5.setEditable(false);
    middle.add(titre5);
    texte5.setOpaque(false);
    texte5.setEditable(false);
    middle.add(texte5);
    titre6.setOpaque(false);
    titre6.setEditable(false);
    middle.add(titre6);
    texte6.setOpaque(false);
    texte6.setEditable(false);
    middle.add(texte6);
    titre7.setOpaque(false);
    titre7.setEditable(false);
    middle.add(titre7);
    texte7.setOpaque(false);
    texte7.setEditable(false);
    middle.add(texte7);
 
 
 
    sous_titre = new Color(104,150,255);
    sous_titreComp.add(titre2);
    sous_titreComp.add(titre3);
    sous_titreComp.add(titre4);
    sous_titreComp.add(titre5);
    sous_titreComp.add(titre6);
    sous_titreComp.add(titre7);
 
    dipScroll = new JScrollPane(middle);
    dipScroll.setBorder(null);
    container.add(top, BorderLayout.NORTH);
    container.add(dipScroll, BorderLayout.CENTER);
 
    top.setBackground(new Color(255,255,255));
    middle.setBackground(new Color(255,255,255));
    col1.setBackground(new Color(255,255,255));
    col2.setBackground(new Color(255,255,255));
 
    for(Component c : sous_titreComp){
        c.setFont(new Font("Arial",Font.BOLD,15));
        c.setForeground(sous_titre);
    }
    }
 
 
 
    public void setAscenceur(JScrollBar ascenceur) {
        this.ascenceur = ascenceur;
    }
 
    public JScrollBar getAscenceur() {
        return ascenceur;
    }
}
Sachant que j'appelle cette page avec un menu pour l'intégrer dans le panel d'une autre classe avec

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
if(e.getSource()==(this.Departement))
            {
 
                fenetre3 = new fenetre_departement();
                bas.removeAll();
                container2.removeAll();
                container2 = fenetre3.getContainer();
 
                bas.add(container2, BorderLayout.NORTH);
                this.setContentPane(container);
 
 
            }
Merci beaucoup de votre aide...