JScrollPane位置高的问题

发布于 2024-10-21 00:45:14 字数 5494 浏览 4 评论 0原文

我的 JScrollPane 有一个问题,我无法切换到高位置,我尝试了一切:

setValue(0);
setCaretPosition(0);
getViewport().setViewPosition(new Point(0,0));

最后所有...

唯一适用于放置的一件事是使用 showMessageDialog,但我宁愿避免...

那是一部分我的代码:

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;
    }
}

知道我用菜单调用此页面,以将其与另一个类一起进入面板,

if(e.getSource()==(this.Departement))
            {

                fenetre3 = new fenetre_departement();
                bas.removeAll();
                container2.removeAll();
                container2 = fenetre3.getContainer();

                bas.add(container2, BorderLayout.NORTH);
                this.setContentPane(container);


            }

非常感谢您的帮助......

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;
    }

    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;
    }
}

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 ...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风轻花落早 2024-10-28 00:45:14

在滚动条中的项目上,调用 scrollRectToVisible()

On the item in the scrollbar, call scrollRectToVisible().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文