【发布时间】:2020-03-28 16:06:57
【问题描述】:
我正在构建一个视图,然后我意识到我需要在里面放入太多信息,所以它不适合窗口。所以我决定创建一个 JScrollPane 来将所有元素放入其中,并在需要时继续包含新元素,以便能够在我的窗口中看到它们。
这是我的滚动窗格的代码:
public JPanel getActionsPane() {
if (Objects.isNull(actionsPane)){
actionsPane = new JPanel();
actionsPane.setLayout(null);
actionsPane.setBounds(0, 29, 1580, 1450);
addComponents();
}
return actionsPane;
}
public JScrollPane getActionsScrollPane() {
if (Objects.isNull(actionsScrollPane)){
actionsScrollPane = new JScrollPane(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
actionsScrollPane.add(getActionsPane());
actionsScrollPane.setLayout(new ScrollPaneLayout());
actionsScrollPane.setBounds(0, 29, 593, 400);
actionsScrollPane.setViewportView(getActionsPane());
}
return actionsScrollPane;
}
但是我编译的时候只能看到这个:
[
如您所见,没有显示卷轴。过去我没有经常使用 JScrollPane,也许我缺少一些启用滚动的属性?
【问题讨论】:
-
默认是滚动窗格在需要时变为可见。您的图像显示,您显示的数据量不需要它们。此外,使用 Swing 布局管理器。不要设定界限。
-
非常感谢stackoverflow.com/users/300257/gilbert-le-blanc,我添加了一个显示滚动不正常工作的新图像,因为下面有更多信息,所以滚动应该会自动出现。我会按照你的建议使用布局管理器
标签: java swing jscrollpane