[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
的大小也没有调整。我也尝试过重新验证滚动窗格,但该方法不起作用。任何人都知道在可见时更新滚动窗格视图端口吗?
问题可能是您已初始化指定的大小,请尝试指定大小。
如果不是,您需要显示您引用的代码,因为其他地方可能存在一些错误,我看不到。