-2

Существует JTable с 3 столбцами и 100 строками. Нужно по событию на таблице узнать какие данные лежат во втором столбце, т.е. будет коллекция (array) с данными. Вывести в Sytem.out.println(array);

user
  • 31

1 Answers1

-3

Дошло!

List<String> array = new ArrayList<>();
        for (int i = 0; i < table.getRowCount(); i++) {
            array.add((String) table.getValueAt(i, table.getColumnModel().getColumnIndex("Столбец 2")));
        }
        System.out.println(array);
user
  • 31
  • 1
    ваш вариант не верен с точки зрения архитектуры. я вам давал верный вариант - надо использовать модель, а не отображение. – Mikhail Vaysman Aug 01 '17 at 06:47
  • почему же неверно? какие могут быть в данном коде проблемы? – user Aug 01 '17 at 06:52
  • они у же есть - архитектурные, проблемы с производительностью и потеря типа данных. – Mikhail Vaysman Aug 01 '17 at 06:58
  • не понимаю что в этом такого, проверял, данные не теряются тут просто стоит счетчик строк в таблице и занос нужных мне данных – user Aug 01 '17 at 07:00
  • он решает текущую проблему, но одновременно создаёт несколько багов. Поэтому не смотрят то, что ответ верный для вас он не верный для других, а тот сайт - это коллективная база ответов. – Mikhail Vaysman Aug 01 '17 at 07:06
  • я вас понял, но на текущем этапе меня устраивает данный код. Я новичок в java, посоветуйте литературу толковую – user Aug 01 '17 at 07:09
  • а почему предыдущий вопрос удалили? Вам надо почитать про MVC и документацию по swing. – Mikhail Vaysman Aug 01 '17 at 07:11
  • хорошо, а из литературы ? в плане книг – user Aug 01 '17 at 07:13
  • @user https://ru.stackoverflow.com/questions/416634/%D0%9A%D0%BD%D0%B8%D0%B3%D0%B8-%D0%B8-%D1%83%D1%87%D0%B5%D0%B1%D0%BD%D1%8B%D0%B5-%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D1%8B-%D0%BF%D0%BE-java – Nofate Aug 10 '17 at 12:02