我的问题是这样的:
我做了一个JPanel。在里面我想添加一个带滚动条的JList。所以我使用JScrollPane。
在这里您可以看到该应用程序的图片。大白色纠结是JPanel的大小。在第二张图片中,您可以看到将Scrollpane添加到代码时会发生什么。
以下是我使用的代码:
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);
}
}
我之前使用过它,它起作用了。好吧,我遇到了同样的问题,但它消失了。我已经像上次那样编写了这段代码。但这一次它不起作用。
先谢谢你们。
答案 0 :(得分:1)
使用JList
,您只需使用setVisibleRowCount
来调整JScrollPane
另一个问题是JPanel
默认使用FlowLayout
,您可能希望更改BorderLayout
之类的内容
<强>更新强>
正如所指出的,如果列表包含大量元素,您可以使用setPrototypeValue
来提高效率
答案 1 :(得分:0)
好的,显然我必须setPreferredSize。你不能只设置面板的大小,你也需要设置jscrolpane的大小!
答案 2 :(得分:0)
默认情况下,除非您使用类似网格包布局......
此外,为了在Java中开发UI,安装一个名为WindowBuilder的eclipse插件非常有用