2013-05-01 9 views
5

Używam interfejsu użytkownika dla interfejsu użytkownika JavaFX 2. Muszę umieścić dużo tekstu wewnątrz TextArea; ładowanie od 500 KB do 1 MB tekstu do TextArea.Sposoby przyspieszenia TextArea w JavaFX 2 podczas ładowania dużej ilości tekstu?

Podczas tej czynności mój interfejs użytkownika działa wolniej z układem BorderPane podczas zmiany rozmiaru paneli. Czy istnieje specjalna metoda, aby to przyspieszyć? Kolejny składnik interfejsu użytkownika, którego powinienem używać?

+0

Było wiele ulepszeń wydajności JavaFX stworzonych dla Javy 8. Wypróbuj wersję [Java 8 wczesnego dostępu] (https://jdk8.java.net/download.html) i sprawdź, czy problemy z wydajnością zostały naprawione. – jewelsea

+0

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

+1

Wygląda na to, że nie ma lepszego komponentu do renderowania tekstu JFX. Możesz polegać na TextArea lub wypróbować textNode w okienku stosu jako opcję. Ale nic lepszego. –

Odpowiedz

4

Wydaje się, nie ma lepszego składnika do renderowania tekstu JFX teraz. Możesz polegać na TextArea lub wypróbować textNode w okienku stosu jako opcję. Ale nic lepszego.

Jest to problem o ponoszeniu z TextArea: javafx-jira.kenai.com/browse/RT-16853

Co mogę zaproponować: można zaimplementować własny komponent, który będzie miał ograniczoną funkcjonalność, ale tweaked dla wydajności: po prostu zrozum, która część tekstu musisz pokazać, i utwórz węzeł Tekst, który będzie renderował tylko bardzo ograniczoną część tekstu. I kawałek technicznej fantazji i prostych rąk.

Ponadto, jeśli chcesz, możesz naprawić problem w istniejącej aplikacji TextArea, a następnie wprowadzić poprawkę do OpenJFX i ewentualnie wprowadzić poprawkę do istniejącego JFX (wersja 8.0).

Należy również wypróbować wersję 8.0, ponieważ zawiera ona istotne poprawki wydajności i ulepszenia.