Java:jscrollpane禁用水平滚动
我想在jscrollpane上添加一个Jpanel;此外,我想只有垂直滚动。我想设置我的jPanel“flowLaout”的布局,并通过jPanel.add(component)方法在代码中向我的jPanel添加几个组件。其结果是,所有组件仅放置在一行中,不显示jpanel的激子宽度。我使用了这些技巧,但都失败了:Java:jscrollpane禁用水平滚动,java,swing,user-interface,jscrollpane,Java,Swing,User Interface,Jscrollpane,我想在jscrollpane上添加一个Jpanel;此外,我想只有垂直滚动。我想设置我的jPanel“flowLaout”的布局,并通过jPanel.add(component)方法在代码中向我的jPanel添加几个组件。其结果是,所有组件仅放置在一行中,不显示jpanel的激子宽度。我使用了这些技巧,但都失败了: jScrollPane1.setHorizontalScrollBar(null); jScrollPane1.setHorizontalScrollBarPolicy(Scroll
jScrollPane1.setHorizontalScrollBar(null);
jScrollPane1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
应该适合你。我不确定你当前项目的细节,但我建议你。这对我来说从来没有错
我目前正在编写一个触摸屏界面,其中嵌套的布局面板最深可达4层或5层,没有一个问题 请使用以下策略打开垂直滚动并关闭水平滚动(适用于Java SE 7):
不,它不起作用。水平滚动功能已禁用,但I组件显示在一行中。JPanel布局是flowlayout。@sajad,代码对我来说很好,否则我就不会在博客上发布代码了。因此,发布您的SSCCE,让DMONOStates说明您的问题,以便我可以查看问题是WrapLayout还是您使用WrapLayout的代码。抱歉,首先我没有注意到链接。我以为你引用了我的代码。但正如你所说,这是正确的。谢谢你,先生!这可能是个好主意。非常感谢。我只是试了一下前面的答案,我的问题就解决了。谢谢你的解决方案。
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);