Java:jscrollpane禁用水平滚动

时间:2011-06-20 22:17:02

标签: java swing user-interface jscrollpane

我想在jscrollpane上添加一个Jpanel;我也想只有垂直滚动。我想设置我的jPanel“flowLaout”的布局,并通过jpanel.add(component)方法在我的代码中为我的jPanel添加几个组件。结果是所有组件都放在一行中,该行划分了jpanel的宽度并且未显示。我使用过这些技巧并且都失败了:

jScrollPane1.setHorizontalScrollBar(null);
jScrollPane1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

3 个答案:

答案 0 :(得分:3)

Wrap Layout应该适合你。

答案 1 :(得分:1)

我不确定您当前项目的详细信息,但我建议MigLayout。它从来没有错过我。

我目前正在编写一个带有嵌套MigLayout面板的触摸屏界面,最多可达4或5层,并且没有遇到任何问题。

答案 2 :(得分:-1)

请使用以下政策打开垂直滚动并关闭水平滚动(适用于Java SE 7):

Panel graphicPanel = new Panel();
JScrollPane scrollbar = new JScrollPane(graphicPanel);
scrollbar.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
scrollbar.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
scrollbar.setPreferredSize(new Dimension(1300, 600));
scrollbar.setVisible(true);
add(scrollbar, BorderLayout.CENTER);