TextArea
TextArea-komponentti tarjoaa monirivisen tekstikentän, johon käyttäjät voivat kirjoittaa ja muokata pidempiä tekstikappaleita. Se tukee maksimimerkkirajoja, kappalerakennetta, rivin katkeamista ja validointisääntöjä syötteen käsittelyn hallinnaksi.
Luominen TextArea
Luo TextArea välittämällä etiketti sen konstruktorille. Ominaisuuksia, kuten paikkamerkki, merkkirajat ja rivin katkeaminen, voidaan konfiguroida asetusmenetelmien avulla.
Näytä koodi
- Java
Kappaleiden hallinta
TextArea-komponentti tarjoaa ominaisuuksia tekstikappaleiden käsittelemiseen, mikä tekee siitä ihanteellisen sovelluksille, jotka vaativat asiakirjojen muokkaamista tai jäsenneltyä tekstisyöttöä.
Tässä on nopea esimerkki siitä, miten kappalekohtainen sisältö voidaan rakentaa ja manipuloida:
TextArea textArea = new TextArea();
// Lisää kappale alussa
textArea.addParagraph(0, "Tämä on ensimmäinen kappale.");
// Liitä toinen kappale loppuun
textArea.addParagraph("Tässä on toinen kappale.");
// Liitä lisäsisältöä ensimmäiseen kappaleeseen
textArea.appendToParagraph(0, " Tämä lause jatkaa ensimmäistä.");
// Poista toinen kappale
textArea.removeParagraph(1);
// Hae ja tulosta kaikki nykyiset kappaleet
List<String> paragraphs = textArea.getParagraphs();
for (int i = 0; i < paragraphs.size(); i++) {
System.out.println("Kappale " + i + ": " + paragraphs.get(i));
}
Validointi
TextArea-komponentti tukee kahta täydentävää validointityyppiä: rakenteelliset rajoitteet ja sisällön rajoitteet.
Rakenteelliset rajoitteet keskittyvät siihen, miten teksti on järjestetty ja visuaalisesti asetettu. Esimerkiksi:
setLineCountLimit(int maxLines)rajoittaa sallitun rivien määrää tekstikentässä.setParagraphLengthLimit(int maxCharsPerLine)rajoittaa merkkien määrää per kappale (tai rivi), auttaen ylläpitämään luettavuutta tai muotoilustandardeja.
Sisällön rajoitteet sen sijaan käsittelevät syötetyn tekstin kokonaismäärää riippumatta siitä, miten se on jaettu:
setMaxLength(int maxChars)rajoittaa kaikkien kappaleiden yhteenlasketun merkkimäärän.setMinLength(int minChars)asettaa vähimmäispituuden, varmistaen, että riittävästi sisältöä annetaan.
Seuraava demo sallii käyttäjien säätää validointirajoja—kuten maksimimerkkimäärää, kappaleen pituutta ja rivimäärää—reaaliaikaisesti ja nähdä, miten TextArea reagoi.
Näytä koodi
- Java
Sanojen kääntö ja rivin katkeaminen
Voit hallita, kääriikö teksti vai vierittääkö se vaakasuunnassa käyttämällä setLineWrap(). Kun kääntö on pois päältä, rivit jatkuvat vaakasuunnassa näkyvän alueen yli, jolloin vierittäminen on tarpeen. Kun se on päällä, teksti kääntyy automaattisesti seuraavalle riville, kun se saavuttaa komponentin reunan.
Kääntökäyttäytymisen hienosäätämiseksi setWrapStyle() antaa sinulle mahdollisuuden valita kahden tyylin välillä:
WORD_BOUNDARIESkääntää tekstiä kokonaisilla sanoilla säilyttäen luonnollisen lukemisvirran.CHARACTER_BOUNDARIESkääntää yksittäisillä merkeillä, mikä mahdollistaa tiukemman hallinnan asettelussa, erityisesti kapeissa tai kiinteän levyisissä säiliöissä.
Nämä kääntövaihtoehdot toimivat yhdessä rakenteellisten rajoitteiden, kuten rivien ja kappaleiden pituusrajojen, kanssa. Vaikka kääntö määrittää kuinka teksti virtaa käytettävissä olevassa tilassa, rakenteelliset rajat määrittävät kuinka paljon tilaa tekstille sallitaan. Yhdessä ne auttavat ylläpitämään sekä visuaalista rakennetta että käyttäjän syöterajoja.
Näytä koodi
- Java
Ennakoitu teksti
TextArea-komponentti tukee älykkäitä tekstiehdotuksia auttaen käyttäjiä kirjoittamaan nopeammin ja vähemmillä virheillä. Kun käyttäjät syöttävät tekstiä, ennakoivia ehdotuksia ilmestyy nykyisen syötteen perusteella, mahdollistaen yleisten tai odotettavien ilmausten täydentämisen.
Ehdotuksia voidaan hyväksyä painamalla Tab- tai ArrowRight-näppäintä, jolloin ehdotettu teksti lisätään syötteeseen vaivattomasti. Jos mitään sopivaa ennakoitavaa ei ole saatavilla tiettynä hetkenä, syöte pysyy muuttumattomana, ja käyttäjä voi jatkaa kirjoittamista keskeytyksettä—varmistamalla, että ominaisuus ei koskaan häiritse.
Tämä ennakoiva käyttäytyminen parantaa sekä nopeutta että tarkkuutta, erityisesti toistuvissa syöttöskenaarioissa tai sovelluksissa, joissa ilmausten johdonmukaisuus on tärkeää.
Näytä koodi
- Java
Tämä demo käyttää Datamuse API:ta tarjoamaan sanasuosituksia käyttäjän syötteen perusteella. Ennusteiden laatu ja merkityksellisyys riippuvat täysin API:n tietojoukosta ja arviointimekanismista. Se ei käytä tekoälymalleja tai suuria kielimalleja (LLMs); ehdotukset tuotetaan kevyestä, sääntöihin perustuvasta moottorista, joka keskittyy lexikaaliseen samankaltaisuuteen.
Vain luku- ja pois päältä -tila
TextArea-komponenttia voidaan asettaa vain luku- tai pois päältä -tilaan käyttäjävuorovaikutuksen hallitsemiseksi.
Vain luku -tekstikenttä sallii käyttäjien katsella ja valita sisältöä, mutta ei muokata sitä. Tämä on hyödyllistä dynaamisen tai esitäytetyn tiedon näyttämiseksi, jota ei pitäisi muuttaa.
Pois päältä -tekstikenttä puolestaan estää kaiken vuorovaikutuksen—mukaan lukien keskittymisen ja tekstin valinnan—ja se on yleensä tyylitelty inaktiiviseksi tai harmaaksi.
Käytä vain luku -tilaa, kun sisältö on merkityksellistä mutta muuttumatonta, ja pois päältä -tilaa, kun syöte ei ole tällä hetkellä sovellettavaa tai sen pitäisi olla tilapäisesti inaktiivinen.
Näytä koodi
- Java