如何创建可滚动的Java Box?

时间:2015-11-30 14:28:20

标签: java swing scroll box scrollpane

我在面板中有一个Box(verticalBox),里面有复选框,我可以滚动它。

我试过

Box box = Box.createVerticalBox();
JScrollPane scrollArea = new JScrollPane(box,  
        JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, 
        JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

panel = new JPanel(); 
panel.add(scrollArea); 
add(aggiuntaPanel, BorderLayout.CENTER);

我可以在框架中看到Box,但我无法滚动它。我该怎么办?

1 个答案:

答案 0 :(得分:2)

你需要反过来做。要使组件可滚动,您必须将其包含在JScrollPane

panel.add(scrollArea);

应该是:

scrollPanel.add(panel);

此外(如@Gorbels的评论中所述),您需要在JScrollPane上设置维度,然后再将其添加到包含的组件中:

scrollPanel.setPreferredSize(new Dimension(WIDTH, HEIGHT));

使用preferredSize将布局委托给布局管理器,您也可以使用setSize()尽管有一些差异,如in this SO Q&A所述