Как добавить элементы в уже созданный JList (генерируется Netbeans) - PullRequest
0 голосов
/ 14 января 2019

Я занимаюсь разработкой приложения в Netbeans с использованием Java, и мне сказали использовать функции создания графического интерфейса, которые предлагает Netbeans. Из-за этого я не могу редактировать initComponents (); метод для редактирования создания JList и добавления к нему модели списка по умолчанию.

Я попытался создать новый JList, но это привело к бесконечному циклу. Я никогда не создавал элементы управления посредством их кодирования, только с помощью инструментов создания графического интерфейса IDE.

Вот что у меня сейчас:

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, а затем позволить пользователю взаимодействовать с самим списком.

Заранее спасибо!

1 Ответ

0 голосов
/ 14 января 2019

нельзя ли использовать список так, как я хочу

Вы только что написали код для создания DefaultListModel.

Так что теперь все, что вам нужно, это добавить:

list.setModel( unapprovedPatientModel );

чтобы JList мог использовать только что созданную модель.

Хотя проблема с этим кодом заключается в том, что код будет выполняться каждый раз, когда окно активируется.

Но дело в том, что все, что вам нужно сделать, это обновить список с помощью метода setModel (). Как вы делаете это в IDE, зависит от вас.

...