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

问题描述 投票:0回答: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也没有调整大小。我还尝试过重新验证jscrollpane,但该方法不起作用。任何人都可以在可见时更新jscrollpane视口吗?

java jpanel jscrollpane
1个回答
0
投票

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

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

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