Существует проблема с многопоточностью, но не та, о которой вы думаете. Код, который вы разместили, почти наверняка является незаконным и в конечном итоге заблокируется.
Одним из основных правил Swing является то, что только одному потоку разрешено касаться «реализованных» компонентов. (Реализовано означает «на экране» или «почти» на экране).
Это:
jResultTextField.setText("got one");
Внутри нити почти наверняка что-то не так - вы просто не можете этого сделать. Проверьте invokeLater или invokeAndWait, чтобы получать обновления экрана в ветке AWT.
Между прочим - это забавно иметь потоки во всем, что расширяет компонент - видение, которое приводит меня к НЕМЕДЛЕННО поиску места конфликта, но это должно сделать любого давнего программиста Java с первого взгляда неловким - Я предлагаю вам разделить некоторые классы и полностью отделить часть, которая управляет вашим GUI (контроллером) от GUI (просмотр) ..