如何在可见时调整JScrollPane的视口大小?

问题描述 投票:-1回答:1

[JScrollPane可见时,我在调整JPanel的大小时遇到​​问题。

这是我的代码:

for (String Id: SearchResultsMap.keySet()) {
    JButton IdPanelButton = CreateIdPanelButton(Id);

    IdListPanel.add(IdPanelButton);
    IdPanelButton.addActionListener(new ActionListener() {
        @Override

        public void actionPerformed(ActionEvent e) {
            ClearRecordDetails();
            setRecordDetails(SearchResultsMap.get(Id));
        }
    });
}
IdListPanel.setPreferredSize(new Dimension(IdListPanel.getWidth(), (int)(SearchResultsMap.size() * CreateIdPanelButton("").getHeight())));
IdListPanel.validate();

我基本上在做的是生成供用户单击的按钮列表,然后将显示一些信息。 CreatIdPanelButton仅创建具有视觉约束的新JButton。我遇到的问题是,即使我尝试设置首选大小,IdListPanel的大小也没有调整。我也尝试过重新验证滚动窗格,但该方法不起作用。任何人都知道在可见时更新滚动窗格视图端口吗?

java swing jpanel jscrollpane
1个回答
0
投票

问题可能是您已初始化指定的大小,请尝试指定大小。

如果不是,您需要显示您引用的代码,因为其他地方可能存在一些错误,我看不到。

© www.soinside.com 2019 - 2024. All rights reserved.