对于我的Java程序,我实际上使用简单库TableLayout
作为我的主JPanel
主体的布局,这样我就可以通过指定其行和列索引来添加任何小部件,例如“< / p>
body.add(new JLabel(
"Search by date"),
"1,8");
现在我需要添加两个JScrollPane
(一个水平和一个垂直)但它们应该包括所有主体而不仅仅是布局的单个单元格。我要添加另一个JPanel
吗?我该怎么做?
答案 0 :(得分:2)
现在我需要添加两个
JScrollPane
(一个水平和一个 它们应该包括所有的身体而不仅仅是一个身体 布局的单元格。我要添加另一个JPanel
吗?
IMO,是的,你应该。 Nesting Layouts是一种可以通过这种方式应用的常用方法:
创建一个新的JScrollPane
并将您的面板设置为其视口视图。
如果面板的尺寸超过此首选尺寸,请为滚动窗格指定合理的首选尺寸以启用滚动条。
使用BorderLayout
的包装器面板,并将滚动窗格添加到其CENTER位置。
简而言之:
JScrollPane scrollPane = new JScrollPane(yourPanel);
scrollPane.setPreferredSize(new Dimension(400, 300));
JPanel wrapperPanel = new JPanel(new BorderLayout());
wrapperPanel.add(scrollPane);
另见: