Jtextpane i jtextarea

Anonim

JTextPane vs JEditorPane

Ważne jest, aby potwierdzić podstawowe funkcje JTextPane i Jtextarea przed omówieniem podobieństw i różnic między nimi. JTextPane i JEditorPane są pochodnymi javax.swing.text.JTextComponent, a JTextPane przychodzi jako podklasa JEditorPane. Z tego można bezpiecznie stwierdzić, że JTextPane jest wyspecjalizowaną formą JEditorPane, która ma dodatkową funkcjonalność.

JTextArea ma określone funkcje; jeden z nich uniemożliwia zawijanie tekstu za każdym razem, gdy tekst zostanie wstawiony. Oznacza to, że w przypadku umieszczenia w nim tekstu jest on automatycznie przypisywany do lewej strony i przechodzi w ten sposób, dopóki nie naciśniesz klawisza Enter.

Z drugiej strony JTextPane posiada funkcję zawijania tekstu. Pomaga to w tworzeniu granic w polu tekstowym. Kiedy litera osiągnie granicę, automatycznie rozpocznie następną linię, w przeciwieństwie do widoku, który jest pokazywany przez JTextArea.

Aby JTextArea działało tak samo jak JTextPane, pokazano, jak implementacja zawijania tekstu w JTextArea umożliwia automatyczne zdanie rozpoczynające się na nowej linii, gdy poprzednia linia osiągnie granicę. To jedna z głównych różnic. Aby było to możliwe, JTextArea używa zestawu setLineWrap (..) i setWrapStyleWord (..) Możliwe jest kontrolowanie sposobu, w jaki wykonywane jest zawijanie tekstu.

Kolejną różnicą jest to, że JTextPane posiada funkcje stylizacji tekstu / akapitu i umożliwia osadzanie obrazów wykonanych w jednym dokumencie. Ta możliwość różni się od możliwości JTextArea, która nie pozwala na edycję zdjęć w jednym dokumencie.

Pokazano również, że JTextPane obsługuje edycję wprowadzonej treści, która to funkcja nie jest dostępna w JTextArea, nawet po wprowadzeniu funkcji wypaczania. Wśród funkcji edycji, na które pozwala JTextPane, podkreślono pogrubienie treści i kolorowanie tekstu.

Ograniczeniem, które powstrzymuje JTextPane przed preferowanym wyborem w stosunku do JTextArea, jest to, że JTextPane jest bardzo ciężki, jeśli chodzi o użycie komponentów. Dlatego zaleca się użycie JTextArea, która wykorzystuje funkcję wypaczania tekstu, jeśli nie ma potrzeby edytowania zawartości poprzez podkreślanie jej, co powoduje, że jest ona pogrubiona lub kolorowana. Wynika to z faktu, że używanie JTextPane i nie stosowanie żadnej z funkcji stylizacji powoduje znaczne spowolnienie interfejsu użytkownika. Powoduje to również niepotrzebne przydzielanie większej ilości pamięci z systemu do JTextPane. Dla dobrego, lekkiego programu kompilacji, który jest łatwy w systemie, wymaga jedynie minimalnego wkładu, zaleca się, aby przejść do JTextArea, ponieważ wykazano, że działa dobrze na interfejsach użytkownika, nie wymagając zasobów.

Ze względu na ogromną elastyczność oferowaną przez JTextPane i zasoby, których wymaga od systemu operacyjnego, oznacza to, że przed jego użyciem należy przeprowadzić więcej programowania. Wspaniałą cechą oferty JTextPane, która nie jest dostępna w JTextArea, jest to, że umożliwia łatwe ładowanie okien edytora wraz ze sformatowanym tekstem pochodzącym z adresu URL. Jest to dość ważna funkcja, ponieważ umożliwia wyświetlanie nieedytowalnych informacji pomocy.

streszczenie

JTextPane jest pochodną javax.swing.text.JTextComponent.

JTextArea nie może wypaczać tekstu.

JTextPane ma możliwość wypaczenia tekstu

JTextArea może wypaczać tekst za pomocą setLineWrap (..) i setWrapStyleWord (..)

JTextPane jest zasobem ciężkim, a JTextArea ogranicza zasoby

Aby przyspieszyć implementację, należy użyć JTextArea

JTextPane powinien być używany tylko wtedy, gdy wymagana jest stylizacja w danym projekcie

JTextPane potrzebuje więcej programowania w porównaniu do JTextArea

JTextPane pozwala na osadzanie obrazu, a JTextArea nie pozwala na osadzanie obrazów