FxApplicationThread usage with
Kevin Rushforth
kevin.rushforth at oracle.com
Tue Apr 16 16:04:47 UTC 2019
You need to update properties that are bound to a property of a node
that is live (attached to a scene that is attached to a visible Window)
on the FX application thread or any number of things could go wrong. You
can use Platform.runLater to do this.
-- Kevin
On 4/16/2019 8:55 AM, Andrew Munn wrote:
> I'm not doing any IO. Mostly I'm concerned with unordered UI updates
> during periods of very active updating because some queue up to be serviced
> by the application thread while other updates jump to front because they're
> done on the wrong thread.
>
> On Tue, Apr 16, 2019, 7:14 AM Thiago Milczarek Sayao <
> thiago.sayao at clamed.com.br> wrote:
>
>> If you do a database (or any I/O intensive task that blocks) the call
>> should be on a Task or Service (which contains a Task).
>>
>> You can bind to the task return value directly, threads will be handled
>> correctly.
>>
>> For non I/O intensive tasks you can set values directly.
>>
>> If you do I/O intensive tasks outside a Task<> or Service<> the UI will
>> block (show a white screen or any non-desirable behaviour).
>>
>>
>> ------------------------------
>> *De:* openjfx-dev <openjfx-dev-bounces at openjdk.java.net> em nome de
>> Andrew Munn <munn7773 at gmail.com>
>> *Enviado:* terça-feira, 16 de abril de 2019 00:03
>> *Para:* openjfx-dev at openjdk.java.net
>> *Assunto:* FxApplicationThread usage with
>>
>> I have a table where column values are bound to row objects' properties
>> like this
>>
>> column.setCellValueFactory(ex -> ex.getValue().getSomeProperty());
>>
>> Should I always call...
>>
>> someProperty.setValue(updatedValue);
>>
>> ...in the FxApplicationThread, or does binding it to the TableColumn take
>> care of dispatching it on the right thread?
>>
More information about the openjfx-dev
mailing list