JScrollPane problem high position
I have a problem with a JScrollPane that I can not switch to high position, I tried everything:
setValue(0);
setCaretPosition(0);
getViewport().setViewPosition(new Point(0,0));
Finally all ...
One thing only works for putting up is the use of a showMessageDialog, but I would prefer to avoid ...
That's part of my code:
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;
}
p开发者_StackOverflow社区ublic 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;
}
}
Knowing that I call this page with a menu to get it into the panel with another class
if(e.getSource()==(this.Departement))
{
fenetre3 = new fenetre_departement();
bas.removeAll();
container2.removeAll();
container2 = fenetre3.getContainer();
bas.add(container2, BorderLayout.NORTH);
this.setContentPane(container);
}
Thank you very much for your help ...
On the item in the scrollbar, call scrollRectToVisible().
精彩评论