Мысль о создании небольшого текстового редактора. Он будет содержать две текстовые области: одну для ввода текста и одну для отображения ошибок. Насколько я понимаю, SwingWorker работает в фоновом режиме, поэтому не будет никаких задержек в обновлении пользовательского интерфейса. Для проверки я написал приведенный ниже код, вставил 5000 строк и попытался напечатать, я думаю, что по мере увеличения строки обновление в textEditor2 становится очень медленным. Правильно ли реализована работа свингера в коде?
textEditor1 и textEditor2 - это JTextarea
private void editorKeyPressed(java.awt.event.KeyEvent evt) {
SwingWorker worker = new SwingWorker<Void, Void>() {
String text = null;
@Override
protected Void doInBackground() throws Exception {
text = textEditor1.getText().toString();
return null;
}
@Override
protected void done() {
try {
get();
textEditor2.setText(text);
} catch (Exception ex) {
System.out.println(ex);
}
}
};
worker.execute();
}