Я пишу Java-приложение, которое шифрует и дешифрует ввод с помощью алгоритма DES. Сначала я сделал это без графического интерфейса и напечатал промежуточные шаги в окне вывода, используя System.out.print();
. Когда ввод велик, вычисления могут занять некоторое время, но при использовании окна вывода промежуточные шаги были напечатаны один за другим, пока он вычислялся. Это было прекрасно.
Теперь я создал графический интерфейс для своей программы, используя JTextArea, с именем txtDebug для печати промежуточных шагов:
public static void debug(String tekst){
txtDebug.setText(txtDebug.getText()+tekst+"\n");}
Проблема: промежуточные шаги больше не печатаются один за другим. Если ввод велик, программа просто зависает и ничего не делает, пока все вычисления не будут завершены, а затем печатает все промежуточные шаги сразу.
Другая проблема: когда я не использовал графический интерфейс, программа никогда не вылетала, теперь, если ввод достаточно большой, программа вылетает: она зависает и просто никогда не возвращается к жизни.
Любая помощь, пожалуйста?