Шаги для чтения текстового файла в определенные столбцы JTable с использованием biojava
Вот типичный ввод .txt
файл (также называемый как файл fasta):
> Длина contig00001 =586 numreads=4 CGGGAAATTATCcGCGCCTTCACCGCCGCCGGTTCCACCGACGAACGGATACTGCGtGaa ggCCGCGATCCCGTCggaCGGAAAaCGCCcTGGCCCGGGAaCATACCGTTCGGGCCGCCA AGTGTTATAGCCGGACCACTTGTCAGAACATTTCCaaTCCGAAGATGTGAGTtCGGAAGg TAAAAGCCCGACAAGTTGCGCGgTGAATTTACCTTtACcGCACGATATGCGTCCGTATTA AaGAAAaGTTCGAAATTATCAGTAAGGCCGACCTGAAaGCTGACCGGGAGTTCAACAAAA TCTGCATCACCcGGgTCACGGTCGAAATTGCTGTACGCGGCGCTGAACGTAAATTCACCC TTTcTAAGGGTGTCGCcGTCGTAAACCGTAAaCAaGCCGGTAGCGCCGCCCATCGGGCCG CCGGTACCAACCGTCGGTGCCGTGTTTCTtGCATCATTGTCCGATCGAGCGTTCTCGTCC GCTTGTGCAAaTCCTGCAaTAGCTAACGTGAAAACGATCAGAGCTGTTGTAAATACTCTA TAAGCGAGATTCATCACATTCCTCcGCCGAAATAAAAAGTTAATTt >contig00002 длина =554 numreads=4 TGCGCCAaCCGCGCTCTtCATAAaTGGGCACTGCTCCCGATGGCCgACTCGGGCGGTTCG CCATGAGATCTTTGCCtACCcAGgAaCtCACcACCAAGTCTGATTGCTGTGTGTTTtCTT CAAGTCCCTATTTCTATTCtCTTtAATGGAACCCGTAGGAAACCCGTGTAGGACGCGGGA aCCGCACTTgAAGGGGGAGGCGCGGGGTACCGGtCCGGGAACGTACGGGTACCGGCGGGG gAGGGGAGGGGGACCgCTCCGGGAAGGCCAGGGGACGGATTGGGGAAGGgCGGGTACCGA AGCGGGgAAaTGGGggAaCcGGCGAGAGGGTTCCTCGCTAAGTGGGGGAAATaGGGGAAA GGTTGACCAGTGGTtCCCcGCTCTCGTAACATGCCTCAGATAGCGCCATCCGCTGTACCT GGtcaggtcGctggcaacttcggccgagcaggtgaacccgaaaggtgagggtcagtgtga cacaccaaccgaacaccgacgaggcaagcgtaggagccggcgtggccgcgcccggcggcg ctgaggactcctcg
Код для чтения последовательности можно найти здесь.
Это дает правильный вывод, как показано ниже с разделением табуляции:
contig00001 586 52.38
contig00002 554 62.45
Проблема в том, что я разработал форму в NetBeans, которая состоит из JTable
имеющий 5 столбцов т.е.
"contigID","Description","Organism","Sequence_length","Gc_percentage"
и JTextArea
, Я хочу отобразить вышеуказанный вывод в JTable
столбцы, в то время как другие столбцы остаются пустыми; и когда я нажимаю "contig00001" в JTable
, то соответствующая последовательность, такая как "CGGGAAAT...." должна отображаться в JTextArea
,
Как я могу это сделать? Любое предложение будет оценено.
2 ответа
Я не совсем уверен, на чем ты застрял. Если он добавляет данные в JTable, я бы рассмотрел создание объекта DefaultTableModel, построение его с правильным заголовком столбца Strings в массиве с 0 строками данных, а затем добавление рядов данных по мере чтения файлов. Учебник JTable должен помочь вам сделать все это. Создав модель таблицы, вы можете легко добавить ее в JTable с помощью метода setModel.
Одним из подходов является расширение AbstractTableModel
, как обсуждалось в разделе Создание табличной модели.
Приложение: прослушивая выбор пользователя, вы можете определить, какая строка была выбрана, и обновить свой JTextArea
соответственно.
Приложение: поскольку получение данных может быть продолжительным, SwingWorker
предлагает безопасный способ мутировать TableModel
, Вот простой пример.