java - 如何将元素添加到已创建的 JList(Netbeans 生成)
问题描述
我正在使用 Java 在 Netbeans 中开发一个应用程序,并被告知要使用 Netbeans 提供的 GUI 创建功能。因此,我无法编辑 initComponents(); 方法来编辑 JList 的创建并向其添加默认列表模型。
我曾尝试创建一个新的 JList,但这导致了无限循环。我从来没有通过自己编码来创建控件,只是通过 IDE 的 GUI 创建工具。
这是我目前拥有的:
private void formWindowActivated(java.awt.event.WindowEvent evt) {
//String to hold current patients data
String patientDetails;
//Take the arraylist from the model
ArrayList<IAccountStrategy> unapprovedPatients;
unapprovedPatients = model.getObservers();
//Create default list model to store the patients details
DefaultListModel<String> unapprovedPatientModel = new DefaultListModel<>();
IAccountStrategy xx;
//For loop to iterate through each element of unapprovedPatients
for(int i = 0; i < unapprovedPatients.size(); i++){
//get the current patients details and store them in a string variable
xx = unapprovedPatients.get(i);
patientDetails = xx.getAccountID() + xx.getUsername() + xx.getFirstname() + xx.getLastname();
//Add string variable to list model
unapprovedPatientModel.addElement(patientDetails);
}
//add list model to existing JList
listPatients.addElement(unapprovedPatientModel);
}
我想将列表模型中的所有元素输出到实际的 JList 中,然后让用户与列表本身进行交互。
提前致谢!
解决方案
是否无法按照我的意愿使用列表
您刚刚编写了创建 DefaultListModel 的代码。
所以现在你只需要添加:
list.setModel( unapprovedPatientModel );
所以 JList 可以使用新创建的模型。
虽然这段代码的问题是每次激活窗口时都会执行代码。
但关键是您需要做的就是使用 setModel() 方法更新列表。如何在 IDE 中执行此操作取决于您。
推荐阅读
- javascript - 在 btn.onclick = function() 中包含一个参数
- javascript - Foundation:如何在基本菜单和下拉菜单之间进行响应式切换?
- php - 为什么我需要括号来简单表达?
- selenium - 功能文件指向一个不存在的项目
- java - 在 TextView 中将 drawable 设置为文本的末尾
- apache-kafka - 仅读取来自 kafka 主题的特定消息
- oracle - UTL_SMTP 打开连接花费了太多时间
- google-cloud-platform - 更改默认后端后端页面的 404 状态
- java - 在 RecyclerView 项目中将弹出菜单对齐到右侧
- javascript - 使用javascript根据文本框中指定的文本从gridview中查找值