JTextField, jtextarea, jtextpane

Szöveg komponensnek van egy MVC architektúra. szöveg komponens modell képezi egy meglehetősen egyszerű felület a dokumentum, amely információt nyújt a változások a dokumentumot, és tárolja azt a szöveget, és szerkesztheti a kapott szöveget, ha szükséges. View végre képviselői a UI-szöveg komponenst; de nem tett fel alapján különleges tárgyak és Element View, válaszoljon pontosabban a szöveges. Ezekkel a tárgyak lehetnek rugalmasan testre és kiterjeszti a megjelenését és szerkezetét szöveges elemek anélkül, hogy zavarnák a komplex folyamat végső vektorizáláshoz. A vezérlő csatlakoztatása céljából kezelni az eseményeket inkább nem csatlakozik a billentyűzet és részben végrehajtott egy billentyűzet kártya (keymap). billentyűzet térkép lehetővé teszi, hogy rugalmasan megváltoztatása nélkül UI-képviselője a szöveges, a szöveges változtatni a válasz karakternél.

Linkek az oldalon

Szöveg mező JTextField alkatrész a legegyszerűbb és leggyakoribb felhasználói felületeket. Jellemzően a mező egy sorban, és használják be szöveget. A Swing könyvtár két szövegmezőt. Az első, képviseli az osztály JTextField. Ez lehetővé teszi, hogy adjon meg egy egysoros szöveget. A második mező, és végrehajtja a class örökölt JPasswordField területén JTextField. lehetővé teszi, hogy szervezni bemenet „zárt” információ (általában jelszavak), hogy nem szabad közvetlenül jelenik meg a képernyőn.

A szöveges mezők JTextField, JPasswordField egyszerű. Dolgozni velük gyakran jön le, hogy adja meg a megjelenített karakterek számát a dobozban, és kezdeti a szöveget, ha szükséges. Így csak elhelyezni a területen a tartályt a megfelelő időben, hogy belőle a felhasználó által begépelt szöveg.

Egy példa a szövegdobozok JTextField

Ez a példa létrehoz egy ablakot több szöveges mezők. Az első mező használatával létrehozott JTextField kivitelező. továbbított karakterek száma ezen a területen. Egysoros szövegmező görgetés nem szükséges, és a mező mérete karakterben kell körülbelül megfelelnek az információk mennyisége, hogy a felhasználó belép a területen. A második mező által létrehozott konstruktor függvény: azt küldje el a szöveget, amelyet rögzíteni kell a területen, és a karakterek maximális számát. További megvalósítási mód szerint definiált betűtípust, és a szöveg összehangolása terén. Alapesetben a szöveg balra igazított a példában - a jobb oldalon.

Ahhoz, hogy szöveges mező, akkor csatolni egy ActionListener hallgató. Ezek a diákok, akkor értesítjük a felhasználó megnyom egy gombot, jelzi a bemenet végét. Általában ez a legfontosabb az Enter billentyűt. Használja a hallgató különösen hasznos abban az esetben, szövegdobozok szánt belépő fontos információkat. Csatlakozás a ActionListener hallgató területen, hogy gyorsítsák fel a folyamatot, a felület, így nincs szükség az adatbevitel befejezése kattintva a megerősítő gombot, mint az OK gombot. Amellett, hogy a közvetlen kapcsolat a ActionListener hallgató területen is használható a módszer setAction (), hogy csatlakozzon a mező az objektum-irányító Action. Ez a módszer nem távolítja el a már csatlakoztatott területén hallgatók, akkor is értesíteni kell a befejezése a bemenet.

A példa is egy beviteli mező a „zárt” adatok JPasswordField. Ez a mező örökölt egy közönséges mező JTextField. Csak setEchoChar () metódus említhetjük a saját módszereit JPasswordField területen. arra szolgál, hogy módosítsa a helyettesítő szimbólum. Alapértelmezésben csillaggal „*”, mint egy ilyen szimbólum. Class JPasswordField fejlesztők nem javasoljuk alkalmazni a megadott értékek a (jelszó), a szokásos módon gettext (). Az a tény, hogy az adatokat az eljárással előállított String lehet cache (String objektumok Java legoptimálisabb fordító és a virtuális gép), és a támadó ellopja jelszavát szkennelési alkalmazás memória. Az adatok biztosabb getPassword () metódus, hogy adja vissza egy tömbben karakter char, melynek értékei ellenőrzés után van értelme, ha vissza szeretné állítani, ami a szemétgyűjtő. Field JPasswordField speciálisan másolja az adatokat a vágólapra - az felülírja a vágás () és a másolat (), meghatározott JTextComponent alap osztály, nem lehet másolni szöveget a vágólapra.

setToolTipText () eljárás lehetővé teszi minden területen meg a pop-up „gyors”. Windows-felület jelenik meg a következő képet.

JTextField, jtextarea, jtextpane

gomb megnyomása után a bemeneti értékek a felső mezőbe , így a párbeszédablak megnyílt a kijelző a megadott szöveget.

Tulajdonságok Szövegmezők

Tulajdonságok és kap / set módszerek

Meghatározása a helyettesítő szimbólum bizalmas információk megadását. Az alapértelmezett a csillaggal (*)

JTextArea többsoros szöveges mező lehet belépni egy egyszerű osztott különböző tulajdonságok a szövegben. Ellentétben a hagyományos területeken, így az meg csak egy sor szöveget, többsoros mezők lehetővé teszik a felhasználó adja meg tetszőleges számú sornyi szöveget.

A több-line mezőt ki kell tölteni nem csak a szélesség (maximum karakterek száma), hanem a magassága (sorok maximális száma). JTextArea kell helyezni egy JScrollPane scroll panelek. Vegyük példának a JTextArea.

Ez a példa létrehoz két bekezdéses szöveg mezők JTextArea. melyek néhány a leggyakrabban használt ingatlanok megváltoztak. Az első mezőbe segítségével létrehozott a kivitelező zapolnyaeschego szövegmezőbe, majd határozza meg a sorok számát és a karaktereket. Meg kell jegyezni, hogy a sorok száma is a lehetőségek listáját előtt jellegű. Meghatározott kivitelező és a sorok száma a karakter a mező határozza meg a tartály méretének, de nem korlátozhatja az input mennyisége szöveget. Az első mező megváltozott font és az azonosított nem szabványos érték okozza a fül módszer setTabSize (). Ez a módszer lehetővé teszi, hogy meghatározza, hogy mennyi helyet karakter helyettesíti a tabulátorkarakter beillesztett megnyomásával .

A második szövegdoboz segítségével létrehozott a kivitelező, amely továbbítja a paraméterek a sorok száma és a karaktereket. Ezt követően, a SetText () módszer által meghatározott mező tartalmát és a változó vezérlő tulajdonságok folyamat át szöveget az új vonalakon. Az alapértelmezett szöveget JTextArea mező nem kerül át az új vonalat. Ez a viselkedés megváltoztatható lehetővé setLineWrap () metódust. setWrapStyleWord () metódus megváltoztatja a stílus átadása hosszú szavak az új vonalat. Ha át ezt a módszert, hogy igaz, a szó nem illik a sorba kerül teljesen át az új vonalat. Az alapértelmezett érték az ingatlan hamis. Ez azt jelenti, hogy a szöveg át, amint ez már nem elegendő hely a sorban, függetlenül attól, hogy a szavak elvégzéséhez szükséges az átadás.

Szövegmezők adunk a tartalom ablakon segítségével JScrollPane görgetősáv. Meg kell jegyezni, hogy a szöveges mező JTextArea nem rendelkezik saját keretet. scrollbars megoldja ezt a problémát. Windows-felület jelenik meg a következő képet.

JTextField, jtextarea, jtextpane

Megjegyzés: a különbség az az átadás végrehajtásának a szöveg a két komponens JTextArea. Ahhoz, hogy lezárja a szöveget a bal oldali mezőben kézzel nyomja meg az Enter billentyűt. de a jobb oldali mező automatikusan átállásra.

Tulajdonságok többsoros szöveges mezők JTextArea

Tulajdonságok (és kap / set módszerek)

Ismerkedés a szöveg hossza tárolt dokumentum mintája.

Figyelemmel kíséri a változásokat a szöveges mezőket elérhető Swing esemény DocumentEvent és a hallgató DocumentListener, amely lehet csatolni a dokumentum modell. DocumentEvent esemény történik minden alkalommal, amikor változik a szöveg a dokumentumban. A hallgató interfész DocumentListener három módszer meghatározott; mindegyik okozza egy bizonyos típusú esemény a dokumentumot: eltávolítja removeUpdate (DocumentEvent e). frissíteni changedUpdate (DocumentEvent e), vagy helyezzen insertUpdate (DocumentEvent e) a szöveg.

Egy példa a class JTextField C módosított DocumentListener archiválni a tárgyalt példák az oldalon. Példa AutoCompleteFieldTest.java szó helyettesítés hajtódik végre a szövegben területen több induló karakter.

Kurzor szöveges elemet valósít meg egy interfész Kurzoros. A kurzor segítségével programozottan változtatni a jelenlegi helyzetben a szövegben, és kezeli a kijelölt szöveget. Ahhoz, hogy működjön együtt a kijelölt szöveget, számos módszer, de kezdetben a kijelölt szöveg adjuk a kurzort az alap osztály JTextComponent.

A kurzor két fő jellemzői - álláspontját, és pont a kiinduló helyzetbe a kijelölt szöveg jelet. Vigyük a kurzort mutatja, ahol a karakterek kerülnek ki.

Kurzor le Kurzoros interfész támogatja ChangeEvent esemény. Hozzátéve, hogy lehet kapni a kurzort hallgató ChangeListener információt a mozgás a kurzort. Az alap osztály JTextComponent támogatja CaretEvent esemény. Azt is fut, amikor a kurzor mozgását. De ha az esemény ChangeEvent amely csak a forrás az esemény (a kurzor is), az esemény lehetővé teszi CaretEvent azonnal tudja, a jelenlegi helyzetben a kurzor és a viszonyítási pont.

Egy példa a kurzor Caret osztály tartalmazza a archív a tárgyalt példák az oldalon. Példa CaretTest.java demonstrálja működés kurzort módszerekkel setDot (int pozíció), moveDot (int pozíció), setBlinkRate (int FREQ), getMark () és getDot ().

letöltés példák

A forráskód tárgyalt példák az oldalon, itt töltheti le (10 KB).