我的问题是这样的:
我做了一个JPanel。我想在其中添加一个带有滚动条的 JList。所以我使用 JScrollPane。
在这里您可以看到该应用程序的图片。大的白色矩形是 JPanel 的大小。在第二张图片中,您可以看到当我将滚动 Pane 添加到代码中时会发生什么。
这是我使用的代码:
public class GUI extends JFrame{
DefaultListModel m = new DefaultListModel();
JList myList = new JList(m);
JScrollPane scrollPane = new JScrollPane(myList);
JPanel listPanel = new JPanel();
public GUI(){
//Stuff about Frame Size, title, and other boring things
scrollPane.setViewportView(myList);
listPanel.add(scrollPane);
this.add(listPanel);
}
}
我以前用过,很有效。好吧,我遇到了同样的问题,但它消失了。我以与上次相同的方式编写了这段代码。但这次不行了。
提前谢谢大家。
最佳答案
使用JList
,您可以简单地使用setVisibleRowCount
来调整JScrollPane
的可视区域的大小
另一个问题是JPanel
默认使用FlowLayout
,您可能需要更改使用BorderLayout
之类的东西
已更新
正如所指出的,如果列表包含大量元素,可以使用setPrototypeValue
来提高效率
关于java - JScrollPane 正在改变它的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24520935/