我正在使用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中,然后让用户与列表本身进行交互。
提前谢谢!
答案 0 :(得分:1)
是否无法根据需要使用列表
您刚刚编写了代码以创建DefaultListModel。
所以现在您只需要添加:
list.setModel( unapprovedPatientModel );
因此JList可以使用新创建的模型。
尽管此代码的问题在于该代码将在每次激活窗口时执行。
但是重点是,您需要做的就是使用setModel()方法更新列表。您如何在IDE中执行此操作取决于您。