JavaFX ChangeListener no siempre funciona

Tengo una aplicación JavaFX y allí una tarea de concurrencia. Mientras se ejecuta la tarea, quiero agregar el mensaje de updateMessage () a un TextArea

Como el enlace no agrega texto nuevo al TextArea, utilicé un ChangeListener

worker.messageProperty().addListener((observable, oldValue, newValue) -> {
    ta_Statusbereich.appendText("\n" + newValue);
});

Eso está funcionando pero no en cada cambio. Lo comprobé con un System.out.println () y conté en la tarea de 1 a 300

for (Integer i = 1; i <= 300; i++) {
    updateMessage(i.toString());
    System.out.println(i.toString());
}

Este println () en la Tarea me da lo que quiero 1,2,3,4,5,6,7,8 y así sucesivamente, pero mi TextArea muestra 1,4,5,8,9 y luego agregué un println en ChangeListener y obtener el mismo resultado, 1,4,5,8,9 (el resultado es aleatorio no siempre 1,4,5 ...)

por qué ? ¿Hay otras formas de agregar el texto del mensaje a TextAres, tal vez con bind?

Respuesta 1

¿Qué estructuras de datos utilizo para implementar la siguiente lógica? read () es un método asincrónico que pone en cola alguna carga de trabajo. Solo se puede ejecutar una carga de trabajo a la vez. El primer hilo para poner en cola una carga de trabajo ...

Esta es la primera tabla en Hive. Contiene información sobre el artículo que estamos comprando. CREAR TABLA EXTERNA SI NO EXISTE Tabla1 (Esta es la tabla PRINCIPAL a través de la cual se deben hacer comparaciones) (...

(Esto es para un applet firmado y he decidido contra HTTPClient mantener mi jar muy pequeño) Estoy usando HttpURLConnection para cargar con éxito un archivo del usuario a un servidor usando múltiples partes ...

Estoy leyendo un libro de Java 8 de Ricahrd Warburton y me proporcionó el siguiente ejercicio: intente reescribir lo siguiente utilizando referencias de métodos: [...] El enfoque flatMap para concatenar ...