java - JScrollBar 拇指位置(值)不会改变

标签 java swing

我有一个 JScrollPane jScrollPane2。我试图改变拇指的位置(值),但它的位置没有改变,代码如下:

public AfficherArbreSyntaxique() {
        initComponents();

        jPanelPourDessinerArbre1.setMinimumSize(new Dimension(10000, 10000));
        jPanelPourDessinerArbre1.setPreferredSize(new Dimension(10000, 10000));
        ;
        //        jPanelPourDessinerArbre1.s //ensureIndexIsVisible
        // jPanelPourDessinerArbre1.repaint();


        jScrollPane2.getVerticalScrollBar().setValueIsAdjusting(true);
        jScrollPane2.getHorizontalScrollBar().getModel().setValue(10);

        this.setDefaultCloseOperation(this.DISPOSE_ON_CLOSE);

    }

问题是什么以及如何解决?

最佳答案

我猜 GUI 还不可见,所以组件还没有大小。

尝试在框架可见后设置该值。实现此目的的一种方法是将代码包装为 SwingUtilities.invokeLater()。

SwingUtilities.invokeLater(new Runnable()
{
    public void run()
    {
        jScrollPane2.getHorizontalScrollBar().getModel().setValue(10);
    }
});

关于java - JScrollBar 拇指位置(值)不会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41297431/

相关文章:

java - JFrame 中默认的 JPanel 较小

java - 单击 JTextField 是否调用 actionPerformed 方法

java - 文本区域缓慢自动向下滚动

java - 在 for 循环中重新创建 ArrayList 的最快方法

java - try-catch找不到符号问题

Java调用创建新区域没有创建形状?

java - 从 jTable 更新 SQL Server 表

java - 为什么我们在 Spring Hibernate 集成中使用服务类

java - 如何让 Tomcat 管理器/状态与我的本地主机名一起使用?

java - 从其父 JMenu 获取 JMenuItem 的位置