gpt4 book ai didi

java - JList 仅显示有限的行数

转载 作者:行者123 更新时间:2023-12-01 19:05:00 24 4
gpt4 key购买 nike

我的 JList 仅显示有限的行数,但我的 listData-vector 有超过 70 个项目..

我使用 jpanel 作为一个列表项并将其添加到 vector -> 之后 -> mylist.setListData(theVector);

visibleRowCount 可以设置为 100 或 8,没关系...

编辑:我的 JList 位于 JScrollPane 中,因为我将其拖动到布局设计器中

编辑2:一些代码..

private void initSubjectList() {
try {
Vector listData = new Vector();
Vector<Subject> subjects = Subject.loadFromDB();
for (Subject actSubject : subjects) {
ListPanel listPanel = new ListPanel();
listPanel.setSubject(actSubject);
JLabel textLabel = new JLabel();
// ... Some properties of my label...
listPanel.setLayout(new BorderLayout());
listPanel.add(textLabel, BorderLayout.WEST);

listData.add(listPanel);
}

this.list_subjects.setListData(listData);
this.list_subjects.setSelectedIndex(0);
this.list_subjects.updateUI();
initGradeList(grades, 0);
} catch (Exception ex) {
_parent.showError(ErrorPanel.TYPE_OKAY, ErrorPanel.TEXT_SQLEXCEPTION);
}

最佳答案

将 JList 放入 JScrollPane 中:

JList list = new JList();
// ...
JScrollPane scrollPane= new JScrollPane(list);

// add scrollpane instead of list to hierarchy.
<小时/>

这是一个完整的工作示例:

import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;

public class Test2 {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {

@Override
public void run() {
initUI();
}
});
}

protected static void initUI() {
JFrame frame = new JFrame("test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Vector<String> data = new Vector<String>();
for (int i = 1; i < 100; i++) {
data.add("Entry " + i);
}
JList list = new JList(data);
list.setVisibleRowCount(8);
JScrollPane scrollPane = new JScrollPane(list);
frame.add(scrollPane);
frame.pack();
frame.setVisible(true);
}
}

关于java - JList 仅显示有限的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10466455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com