Yuri_Prime
@Yuri_Prime

Таблицы в Java?

Суть вопроса такова. Имеется большое число файлов, из каждого вытаскивается определенная информация(грубо говоря, теги, класс String, плюс имя файла и путь к нему). Соответственно для каждого файла они свои. Есть мысль создать класс, с полями, содержащими эти теги, то есть на каждый файл будет экземпляр этого класса. Возникает проблема отображения: наиболее удобно через таблицу, так как для каждого файла теги могут обрабатываться и меняться(в конце выполнения просто проверить, а изменялись ли параметры таблицы и если да — перезаписать теги в файлы). Но в таблицу, если я правильно понял, получается объекты этого класса не особо впихнёшь, можно впихнуть только значения полей. Правильнее будет отказаться от таблицы и использовать что-то другое, работая с экземплярами моего класса с полями-тегами, или же отказаться от класса с тегами и просто писать эти самые теги напрямую в таблицу? Или может есть ещё какой-то вариант, который я не вижу, в силу малого опыта?

Заранее спасибо за помощь.
  • Вопрос задан
  • 6229 просмотров
Пригласить эксперта
Ответы на вопрос 2
Yuri_Prime
@Yuri_Prime Автор вопроса
Извиняюсь за несколько непонятный вопрос. Таблица — объект класса JTable. Берем кучу файлов, вытаскиваем из них теги, и теги заносим в таблицу, которая JTable, чтобы вдальнейшем с ними работать. Так же есть вариант создать свой какой-то класс с полями, содержащими теги и создавать по экземпляру класса для каждого файла, а затем каким-то образом представить поля всех экземпляров этого класса и работать с ними. Вот и скитаюсь от одного варианта к другому.
Ответ написан
Комментировать
@JuniorIL
Ну мысль в принципе правильная.
Во первых я бы создал какую то свою сущность которая бы обозначала такую запись. Среди свойств я бы указал File, при надобности можно физически к нему обратиться, т.е

public class SuperDeed {
    private File file;
    private Set<String> tags;
    private String name;
    
    ...(getters, setters, constructor)

}


Теперь, из file можно вытащить путь, имя файла и т.д. Не советую работать напрямую с API IO в этой сущности, это модель и она не должна заботиться о всяких IОExceptions.

Вопрос, зачем все это, если 1) можно сохранить в базу данных и не мучаться с файлами 2) если уж работать с файлами, использовать что то типо XStream или Jackson и сохранять как XML/JSON

Теги можно отобразить через запятую, при сохранении проверять, не дописал ли пользователь еще. Для всех этих радостей надо будет играть с TableModel, посмотри подробнее тут. Так же надо будет написать валидатор для тэгов, т.е свой CellRenderer (чтобы разрешал только запятые).

Как то так, общая идея. Точнее чтобы сказать надо вспоминать swing (на чистом свинге уже года три не писал), но думаю общей мысли хватит. В следующий раз старайся подробнее объяснять свою проблему и использовать «уточнить» а не «ответ» для уточнения, и ставь правильно теги (работа со swing — тег swing и т.д).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы