提问人:rainbow 提问时间:4/6/2023 最后编辑:Ben the Coderrainbow 更新时间:4/8/2023 访问量:624
如何在java swing中将对象列表显示为JList?
How to display a list of objects as a JList in java swing?
问:
我们被要求在 Java Swing 中构建一个系统,没有拖放,我无法理解如何在 .
我有一个 GUI 类,它创建了一个 JFrame、JPanel 和一个空的 JList,以及一个带有对象列表的逻辑类,可以通过 .
我需要通过字段创建更多学生对象,并将它们显示在我的 JList 中并添加到现有的(类型为 )。
我应该将我的作为对象类型声明吗?我找不到有关如何将 JList 与对象列表连接的信息。
我唯一的想法是从输入字段数据创建新的 Student 对象并将其传递给 .但是如何在 GUI 中也将其显示为 JList?JList
logic.studentsList
studentsList
ArrayList<Students>
JList
JList
Students
logic.stundentsList
答:
3赞
SaidTheHypocrite
4/7/2023
#1
- 创建要显示的对象列表。
- 创建一个 DefaultListModel 对象以将对象存储在列表中。
- 创建一个 JList 对象并将其模型设置为 DefaultListModel。
- 将 JList 添加到 JScrollPane 以允许滚动(如果列表是 长。
- 将 JScrollPane 添加到容器(如 JFrame 或 JPanel)中,以 显示 JList。
public class Example extends JFrame {
public Example() {
// Create a list of strings
List<String> items = new ArrayList<>();
items.add("Item 1");
items.add("Item 2");
items.add("Item 3");
// Create a DefaultListModel to store the strings
DefaultListModel<String> listModel = new DefaultListModel<>();
for (String item : items) {
listModel.addElement(item);
}
// Create a JList and set its model to the DefaultListModel
JList<String> jList = new JList<>(listModel);
// Add the JList to a JScrollPane to allow for scrolling
JScrollPane scrollPane = new JScrollPane(jList);
// Add the JScrollPane to a container such as a JFrame or JPanel
JPanel panel = new JPanel();
panel.add(scrollPane);
add(panel);
// Set the JFrame properties
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("Example");
pack();
setLocationRelativeTo(null);
setVisible(true);
}
}
评论
JList
JTable
JList
JPanel
JPanel
JList