JTextPane versus JEditorPane
Het is belangrijk om de basisfuncties van JTextPane en Jtextarea te erkennen voorafgaand aan het bespreken van de overeenkomsten en verschillen tussen de twee. JTextPane en JEditorPane zijn beide afgeleiden van javax.swing.text.JTextComponent, met JTextPane als een subklasse van JEditorPane. Hieruit kan veilig worden geconcludeerd dat JTextPane een gespecialiseerde vorm van JEditorPane is die wordt geleverd met wat extra functionaliteit.
JTextArea wordt geleverd met specifieke functies; een van deze voorkomt dat de tekst omloopt wanneer de tekst wordt ingevoerd. Dit betekent in feite dat in het geval dat tekst erin wordt geplaatst, deze automatisch aan de linkerkant wordt toegewezen en zo gaat totdat je op Enter drukt.
JTextPane daarentegen wordt geleverd met de tekstomloopfunctie. Dit helpt bij het maken van grenzen binnen het tekstveld. Wanneer een letter de grens bereikt, start deze automatisch de volgende regel in tegenstelling tot de weergave die wordt getoond door JTextArea.
Om JTextArea op dezelfde manier te laten werken als JTextPane, is aangetoond dat de implementatie van tekstomloop in JTextArea automatische zin kan beginnen op een nieuwe regel wanneer de voorgaande regel de grens bereikt. Dit is een van de belangrijkste verschillen. Om dit mogelijk te maken, maakt JTextArea gebruik van set setLineWrap (...) en setWrapStyleWord (...) Het is mogelijk om de manier te bepalen waarop tekstterugloop wordt gedaan.
Een ander verschil is dat JTextPane beschikt over woord / paragraaf-stylingmogelijkheden en de mogelijkheid biedt om afbeeldingen in te sluiten die in een enkel document worden gedaan. Deze mogelijkheid verschilt van die van JTextArea, die het bewerken van afbeeldingen in een enkel document niet toestaat.
Er is ook aangetoond dat JTextPane het bewerken van ingevoerde inhoud ondersteunt, een functie die niet beschikbaar is in JTextArea, zelfs nadat de krommingsfunctie is ingesteld. Een van de bewerkingsfuncties die JTextPane mogelijk maakt, is onderlijning, vetgedrukte content en het inkleuren van tekst.
De beperking die voorkomt dat JTextPane de voorkeur verdient boven JTextArea is dat JTextPane erg zwaar is als het gaat om componentgebruik. Het is daarom raadzaam om JTextArea te gebruiken, die gebruik maakt van de tekstvervormingsfunctie als het niet nodig is inhoud te bewerken door het te onderstrepen, vet te maken of in te kleuren. Dit komt omdat het gebruik van JTextPane en het niet gebruiken van een van de stylingsfuncties resulteert in een aanzienlijke vertraging van de gebruikersinterface. Dit zorgt er ook voor dat meer geheugen van het systeem onnodig aan JTextPane wordt toegewezen. Voor een goed lichtgewicht build-programma dat eenvoudig is in het systeem en slechts minimale input vereist, is het raadzaam om te gaan voor JTextArea, omdat is aangetoond dat het goed werkt op gebruikersinterfaces, zonder dat het veel resources nodig heeft.
Vanwege de enorme flexibiliteit die JTextPane biedt en de bronnen die het van het besturingssysteem vraagt, betekent dit dat er meer programmeerwerk moet worden uitgevoerd voordat het wordt gebruikt. Een geweldige functie die JTextPane biedt die niet beschikbaar is in JTextArea is dat het ervoor zorgt dat bewerkingsvensters gemakkelijk kunnen worden geladen samen met opgemaakte tekst die afkomstig is van de URL. Dit is een vrij belangrijke functie omdat het de weergave van niet-bewerkbare helpinformatie mogelijk maakt.
Samenvatting
JTextPane is een afgeleide van javax.swing.text.JTextComponent.
JTextArea kan tekst niet verdraaien.
JTextPane wordt geleverd met de mogelijkheid van tekstvervorming
JTextArea kan tekst verdraaien met behulp van setLineWrap (...) en setWrapStyleWord (...)
JTextPane is middelzwaar terwijl JTextArea bronbeperkend is
Voor snellere implementaties moet JTextArea worden gebruikt
JTextPane zou alleen moeten worden gebruikt als styling vereist is voor het project dat voorhanden is
JTextPane heeft meer programmering nodig in vergelijking met het gebruik van JTextArea
JTextPane maakt opname van afbeeldingen mogelijk terwijl JTextArea het insluiten van afbeeldingen niet toestaat