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
将以其他方式进行补偿)。考虑使用不同的布局管理者不能相信我以前没有想到这一点。谢谢