1
我想水平地在一行上排列JList
,並讓它只能水平滾動。我發現list.setLayoutOrientation(JList.VERTICAL_WRAP);
如果有足夠的物品,它會很好地工作。但是,當列表需要滾動時,滾動條會覆蓋列表的最後(也是唯一)一行,所以根本看不到它。我怎樣才能防止這一點?滾動條用VERTICAL_WRAP覆蓋JList的最後一行
我的測試代碼:
JList<String> list = new JList<>("TIVFBJPAVUOHCVINPNYLMSMNNDUSHVSWUYUSNZXTYTXJMJPTISAVVYHOPBFIAXSUUQYYPVGAKEEWOTRCBWQWRXQTYJLCTTHTXPMZWDLQRRUZJSVWDMLYNRUDZXRTEJWAZUOBQCWNCYEPVCPXVWOGVZPOEKPWZZFDGZZGXPBFZQQVKFIXCYFTHRPJJMOYISEUCUTJGZQI".split("[A-D]"));
list.setLayoutOrientation(JList.VERTICAL_WRAP);
list.setVisibleRowCount(1);
frame.add(new JScrollPane(list), BorderLayout.NORTH);
其結果是:
滾動條可沒有被包含在preferredSize計算中(如'JScrollPane '會以其他方式補償)。考慮使用不同的佈局管理器 – MadProgrammer