Я работаю с данными ДНК, в простейшей форме имя / идентификатор с информацией о последовательности:
public class FastaSequence {
private String name;
private String sequence;
{
* sequence
в основном ATGGCTATCAC ... для нескольких тысяч символов.У меня также есть несколько сотен таких вещей, которые можно сравнить одновременно.
Мне нужно иметь возможность манипулировать символами в столбцах и ячейках, например, выбирать 125-й символ каждой выровненной последовательности в графическом интерфейсе пользователя, таком как JavaFX.поэтому я подумал использовать TableView
и преобразовать sequence
в список символов и передать его в табличную модель как таковую.Таким образом, каждый символ получал бы свой собственный столбец, и я мог бы покрасить все ячейки, содержащие T, в красный и т. Д.
Я пробовал это с помощью Python TableView, и я получил рабочий прототип, но он очень медленно реагировал (загрузка списка, обновление), даже если список загружен только из ста последовательностей.Поэтому мой вопрос состоит из двух частей:
1) Будет ли реализация JavaFX (намного) быстрее, чем Python, даже при загрузке сотен или более ячеек?
2) Я лаюнеправильное дерево и есть ли лучший способ для просмотра / манипулирования данными, как я описал выше?Должен ли я использовать другую модель?
ОБНОВЛЕНИЕ
Я провел дополнительные исследования по этому вопросу и обнаружил, что TableView в JavaFX, очевидно, не предназначен для большого количества столбцов.: https://www.youtube.com/watch?v=udc2iRZBF0M в 1: 51.
Итак, я вернулся к тестированию JTable в Swing.Без дальнейшего пуха это дает мне отзывчивую (т.е. легко прокручиваемую) таблицу до 1000 строк из 1000 символов.Однако, делая TableModel немного более сложным и используя собственные средства визуализации ячеек для центрирования символов в ячейке и удаления границ ячейки, это разрушает отзывчивость.Из-за многих вещей, которые я пробовал, я не публикую здесь весь код.Если / когда я подойду ближе к решению, я обновлю свой минимальный (рабочий?) Код.Может быть, мне нужно вернуться к более простому элементу управления, например, к пользовательскому классу, основанному на макете на основе сетки, без издержек JTable и его модели?