Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.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 滚动条用垂直环绕覆盖JList的最后一行_Java_Swing_Scroll_Jlist - Fatal编程技术网

Java 滚动条用垂直环绕覆盖JList的最后一行

Java 滚动条用垂直环绕覆盖JList的最后一行,java,swing,scroll,jlist,Java,Swing,Scroll,Jlist,我想将JList水平布局在一行上,并使其仅水平滚动。我找到了list.setLayoutOrientation(JList.VERTICAL\u WRAP)如果项目数量足够少,则该选项效果良好。但是,当列表需要滚动时,滚动条会覆盖列表的最后一行(也是唯一一行),因此您根本看不到它。我怎样才能防止这种情况 我的测试代码: JList<String> list = new JList<>("TIVFBJPAVUOHCVINPNYLMSMNNDUSHVSWUYUSNZXTYTX

我想将
JList
水平布局在一行上,并使其仅水平滚动。我找到了
list.setLayoutOrientation(JList.VERTICAL\u WRAP)如果项目数量足够少,则该选项效果良好。但是,当列表需要滚动时,滚动条会覆盖列表的最后一行(也是唯一一行),因此您根本看不到它。我怎样才能防止这种情况

我的测试代码:

JList<String> list = new JList<>("TIVFBJPAVUOHCVINPNYLMSMNNDUSHVSWUYUSNZXTYTXJMJPTISAVVYHOPBFIAXSUUQYYPVGAKEEWOTRCBWQWRXQTYJLCTTHTXPMZWDLQRRUZJSVWDMLYNRUDZXRTEJWAZUOBQCWNCYEPVCPXVWOGVZPOEKPWZZFDGZZGXPBFZQQVKFIXCYFTHRPJJMOYISEUCUTJGZQI".split("[A-D]"));
list.setLayoutOrientation(JList.VERTICAL_WRAP);
list.setVisibleRowCount(1);
frame.add(new JScrollPane(list), BorderLayout.NORTH);
JList list=new JList(“tivfbjpavuohcvinpnylmsmndushvwuusnzxtytxjmjptisavyhopffiaxuuqyyypvgakeewotrcbwqwrxqtyjlctthtxpmzwdlqrruzjsvwdmlinrudzrtejwazuobqcwcyepvvlogvzpoekpwzfdgzgzgzfzfzqvkfixcyfthrpjjmoyiseucjgzqi.”拆分(“[A-D]”);
list.setLayoutOrientation(JList.VERTICAL\u WRAP);
list.setVisibleRowCount(1);
frame.add(新的JScrollPane(列表),BorderLayout.NORTH);
结果是:


强制滚动窗格在其大小计算中包括水平滚动条:

JList<String> list = new JList<String>( ... );
list.setLayoutOrientation(JList.VERTICAL_WRAP);
list.setVisibleRowCount(1);
JScrollPane scrollPane = new JScrollPane( list );
scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
frame.add( scrollPane );
JList列表=新JList(…);
list.setLayoutOrientation(JList.VERTICAL\u WRAP);
list.setVisibleRowCount(1);
JScrollPane scrollPane=新的JScrollPane(列表);
scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HorizontalScrollBar\uAlways);
frame.add(滚动窗格);

滚动条可能未包含在preferredSize计算中(因为
JScrollPane
将以其他方式进行补偿)。考虑使用不同的布局管理者不能相信我以前没有想到这一点。谢谢