Отображение выходных данных последовательного порта в текстовом поле эффективным способом в Java - PullRequest
0 голосов
/ 22 декабря 2009

Я делаю приложение с графическим интерфейсом для управления удаленным устройством через последовательный порт. Для этого я использую два потока - «чтение из» и «запись в» последовательный порт. Мой основной фрейм приложения содержит одну строку меню с элементами меню и элементами подменю и одну прокручиваемую текстовую область. Теперь я помещаю весь вывод из последовательного порта в текстовую область, так что это просто ощущение консоли. Оболочка последовательного порта дает мне вывод команды что-то вроде этого

line1 word1 word2 wordd3 word4 word5 :
    line2 word1 = 0x00000000
    line3 word2 = 0x00000000
line3Word1 : line3word2
line4Word1 : line4Word2
line5Word1 : line5word2
line6Word1 : line6Word2

Теперь я хочу поместить несколько строк в моем основном кадре в метки. Как то так.

line4Word1(in label1) : line4Word2(in label2)
line5Word1(in label3) : line5word2(in label4)

Теперь, если я буду проверять строки line4Word1 и line5Word1 при чтении последовательных портов, я боюсь, что смогу обработать строку и создать метки при получении данных в реальном времени?

Кто-нибудь может предложить мне лучший способ сделать это?

Извините, если я не могу четко объяснить проблему. Но если не ясно, пожалуйста, дайте мне знать, я объясню это лучше ...

1 Ответ

3 голосов
/ 22 декабря 2009

Для вашей области прокрутки метод append () объекта [JTextArea] (http://java.sun.com/javase/6/docs/api/javax/swing/JTextArea.html#append(java.lang.String)) оказывается поточно-ориентированным. Чтобы получить поточно-ориентированные обновления для других компонентов графического интерфейса, я бы выбрал SwingWorker , также обсуждается здесь .

...