2013-05-01 11 views
5

Sto usando JavaFX 2 per l'interfaccia utente. Sto inserendo un sacco di testo all'interno di un TextArea; caricamento da 500KB a 1MB di testo in TextArea.Come accelerare TextArea in JavaFX 2 quando si carica molto testo?

Quando si esegue questa operazione, l'interfaccia utente è più lenta con il layout BorderPane durante il ridimensionamento dei riquadri. C'è un metodo specifico per accelerare questo? Un altro componente dell'interfaccia utente che dovrei usare?

+0

Sono stati apportati numerosi miglioramenti delle prestazioni a JavaFX creato per Java 8. Provare una [versione di accesso anticipato Java 8] (https://jdk8.java.net/download.html) e verificare se i problemi di prestazioni sono stati risolti. – jewelsea

+0

https://javafx-jira.kenai.com/browse/RT-16853 –

+1

Sembra che non ci sia un componente migliore per il rendering del testo JFX ora. Puoi fare affidamento su TextArea o provare textNode nel riquadro dello stack come opzione. Ma niente di meglio. –

risposta

4

Sembra che non ci sia un componente migliore per il rendering del testo JFX ora. Puoi fare affidamento su TextArea o provare textNode nel riquadro dello stack come opzione. Ma niente di meglio.

C'è un problema su preformance di TextArea: javafx-jira.kenai.com/browse/RT-16853

Quello che posso suggerire: è possibile implementare un componente personalizzato, che hanno limitato la funzionalità, ma ottimizzato per le prestazioni: basta capire, quale parte del testo devi mostrare e creare un nodo Testo, che renderà solo una parte del testo molto limitata. E un pezzo di fantasia tecnica e mani dritte.

Inoltre, se lo si desidera, è possibile risolvere il problema in TextArea esistente e inserire la correzione in OpenJFX ed eventualmente inserire la correzione in JFX esistente (versione 8.0).

Inoltre, dovresti provare la versione 8.0, perché in realtà contiene correzioni e miglioramenti significativi alle prestazioni.