Вопрос:

Получить объекты в Arraylist, DAO

java object arraylist

472 просмотра

1 ответ

40 Репутация автора

Я хочу записать объекты из Jlist (с DefaultListModel) в Arraylist, чтобы я мог использовать его для сохранения / загрузки (потоковой передачи) их.

GUI
private DefaultListModel<Meeting> dlm = new DefaultListModel<Meeting>();
private JList list = new JList<>(dlm);  

    btnNewButton_1.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            Meeting m;
            m = new Meeting((Date)spinner.getValue(), textArea.getText());
            dlm.addElement(m);
        }
    });

Теперь у Jlist есть Объекты, тип данных - Встреча. Как я могу получить эти объекты в Arraylist, это должно быть для DAO?

DAO

private GUI g;

private void writeFile() {

    ArrayList<Meeting> mList = new ArrayList<>();
    for (Object meeting : Arrays.asList(g.dlm.toArray())) 
    {
        mList.add((Meeting)meeting);

        System.out.println(meeting);
    }
}

Я пытался установить частный dlm и публичный в графическом интерфейсе

Следующим шагом является создание файла и запись в него Arraylist. В конце я представляю файл, в котором хранится Arraylist.

Автор: Plex Источник Размещён: 22.08.2016 09:03

Ответы (1)


0 плюса

40 Репутация автора

Я думаю, что вы получите NullPointerException с текущим кодом. Вам нужен экземпляр GUI, чтобы получить доступ к dlm. Добавьте метод setGUI(GUI g)в DAO и установите экземпляр GUI, используя этот метод, перед вызовом writeFile()в DAO. ДЛМ должен быть публичным для его работы.

public void setGUI(GUI g) {
    this.g = g;
}

Я бы не сказал, что это лучший дизайн, но он должен работать.

Чтобы улучшить дизайн, преобразуйте значения модели в ArrayList в самом графическом интерфейсе и вызовите writeFile()метод с ArrayList в качестве параметра.

DAO

 // Don't need this 
 //private GUI g;

private void writeFile(ArrayList<Meeting> mList) {
    // Code to save to a file 

}
Автор: Pramod CS Размещён: 05.09.2016 08:28
Вопросы из категории :
32x32