Swing:如何使用TableLayout添加两个JScrollPanes?

时间:2014-12-10 11:08:54

标签: java swing jscrollpane layout-manager tablelayout

对于我的Java程序,我实际上使用简单库TableLayout作为我的主JPanel主体的布局,这样我就可以通过指定其行和列索引来添加任何小部件,例如“< / p>

body.add(new JLabel(
            "Search by date"),
            "1,8");

现在我需要添加两个JScrollPane(一个水平和一个垂直)但它们应该包括所有主体而不仅仅是布局的单个单元格。我要添加另一个JPanel吗?我该怎么做?

1 个答案:

答案 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);

另见: