JTextPane vs JEditorPane

Pirms apspriest līdzības un atšķirības starp abiem, ir svarīgi atzīt JTextPane un Jtextarea pamatfunkcijas. JTextPane un JEditorPane ir gan javax.swing.text.JTextComponent atvasinājumi, gan JTextPane nonākot JEditorPane apakšklasē. No tā var secināt, ka JTextPane ir specializēta JEditorPane forma, kurai ir dažas papildu funkcijas.

JTextArea nāk ar īpašām funkcijām; viens no tiem neļauj tai ietīt tekstu ikreiz, kad teksts tiek ievietots. Tas faktiski nozīmē, ka gadījumā, ja teksts tiek ievietots tajā, tas tiek automātiski piešķirts kreisajā pusē un iet šo ceļu, līdz jūs nospiežat enter.

JTextPane, no otras puses, nāk ar iesaiņojuma teksta funkciju. Tas palīdz izveidot robežas teksta laukā. Kad burts sasniedz robežu, tas automātiski sāksies no nākamās rindas pretstatā skatam, kuru parāda JTextArea.

Lai JTextArea darbotos tāpat kā JTextPane, teksta aptinuma ieviešana JTextArea parādīja automātisku teikuma sākšanu jaunā rindiņā, kad iepriekšējā rinda sasniedz robežu. Šī ir viena no galvenajām atšķirībām. Lai to izdarītu, JTextArea izmanto kopas setLineWrap (..) un setWrapStyleWord (..). Ir iespējams kontrolēt veidu, kā tiek veikta teksta ietīšana.

Vēl viena atšķirība ir tā, ka JTextPane ir vārdu / rindkopu veidošanas iespējas un tas ļauj iegult attēlus vienā dokumentā. Šī spēja atšķiras no JTextArea iespējām, kas nevar atļaut attēlu rediģēšanu vienā dokumentā.

Ir arī pierādīts, ka JTextPane atbalsta ievadītā satura rediģēšanu - funkciju, kas nav pieejama JTextArea pat pēc deformācijas funkcijas ieviešanas. Starp JTextPane atļautajām rediģēšanas funkcijām ir pasvītrojums, satura treknraksts un teksta krāsošana.

Ierobežojums, kas neļauj JTextPane būt par vēlamo izvēli salīdzinājumā ar JTextArea, ir tas, ka JTextPane ir ļoti smags, kad runa ir par komponentu izmantošanu. Tāpēc ieteicams izmantot JTextArea, kas izmanto teksta deformācijas funkciju, ja nav nepieciešams rediģēt saturu, pasvītrojot to, padarot to treknu vai krāsojot to. Tas notiek tāpēc, ka, izmantojot JTextPane un neizmantojot nevienu no ieveidošanas funkcijām, tiek ievērojami palēnināta lietotāja saskarne. Tas arī liek vairāk atmiņas no sistēmas nevajadzīgi atvēlēt JTextPane. Lai izveidotu labu vieglu programmu, kas sistēmā ir ērta un prasa tikai minimālu ieguldījumu, ieteicams izmantot JTextArea, jo ir pierādīts, ka tā darbojas labi lietotāja saskarnēs, neprasot resursus.

Sakarā ar milzīgo elastīgumu, ko piedāvā JTextPane, un resursiem, ko tā prasa no operētājsistēmas, tas nozīmē, ka pirms tās izmantošanas ir jāveic vairāk programmēšanas. Lieliska JTextPane piedāvātā funkcija, kas nav pieejama JTextArea, ir tā, ka tā ļauj redaktora rūtis viegli ielādēt kopā ar formatētu tekstu, kas nāk no URL. Šī ir diezgan svarīga funkcija, jo tā ļauj parādīt rediģējamu palīdzības informāciju.

Kopsavilkums

JTextPane ir javax.swing.text.JTextComponent atvasinājums.

JTextArea nevar deformēt tekstu.

JTextPane nāk ar iespēju izkropļot tekstu

JTextArea var deformēt tekstu, izmantojot setLineWrap (..) un setWrapStyleWord (..)

JTextPane ir resursietilpīgs, savukārt JTextArea ir ierobežots resurss

Ātrākai ieviešanai vajadzētu izmantot JTextArea

JTextPane būtu jāizmanto tikai tad, ja attiecīgajam projektam ir nepieciešams stils

JTextPane nepieciešama lielāka programmēšana, salīdzinot ar JTextArea izmantošanu

JTextPane ļauj attēlu iegult, savukārt JTextArea neļauj iegult attēlus

Atsauces