Попытка добавить элементы в jList из TXT-файла - PullRequest
0 голосов
/ 19 июля 2011

У меня есть следующий блок try catch, который выполняется при нажатии кнопки.

  try {
//picking up the file I want to read in
 BufferedReader in = new BufferedReader(new FileReader("C:\\users\\me\\desktop\\blah.txt"));
 String line;                                           
 try {
    //read through the file until there is nothing left and add each line to list
         while((line = in.readLine()) != null){  
            jList1.add(line, jList1);
                    }

               } catch (IOException ex) {
                    Logger.getLogger(Frame2.class.getName()).log(Level.SEVERE, null, ex);
           }
      } catch (FileNotFoundException ex) {
                Logger.getLogger(Frame2.class.getName()).log(Level.SEVERE, null, ex);
  }

Я могу успешно System.out.println(line), поэтому я знаю, что что-то работает правильно.Я не могу заполнить список строками из текстового файла.Приведенный выше код говорит мне, что я cannot add containers parent to self.

Попытка найти больше информации только смутила меня.Я сталкивался с некоторыми местами, которые говорят, что jLists более сложны, чем это?

Ответы [ 2 ]

5 голосов
/ 19 июля 2011

Есть много ошибок, слишком много, чтобы комментировать все из них:

1) Базовый ввод / вывод

2) Исключения

3) Как использовать списки

4) Примеры

    BufferedReader in = null;
    String line;
    DefaultListModel listModel = new DefaultListModel();
    try {
        in = new BufferedReader(new FileReader("C:\\users\\me\\desktop\\blah.txt"));
        while ((line = in.readLine()) != null) {
            listModel.addElement(line); //(String.valueof(line));
        }
    } catch (IOException ex) {
        Logger.getLogger(Frame2.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
        if (in != null) {
            in.close();
        }
    }
    JList jList1 = new JList(listModel);
2 голосов
/ 19 июля 2011

Вы действительно не можете сделать это: Прочитайте еще раз эту строку: jList1.add(line, jList1); Что вы на самом деле имели в виду? Вы добавляете jList1 в jList1, верно? Проверьте код и исправьте его соответствующим образом.

...