Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:jscrollpane禁用水平滚动_Java_Swing_User Interface_Jscrollpane - Fatal编程技术网

Java:jscrollpane禁用水平滚动

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

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

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