NOTA! Questo sito utilizza i cookie e tecnologie simili.

Se non si modificano le impostazioni del browser, l'utente accetta. Per saperne di piu'

Approvo

Guida Java 2D - Capitolo 25: Elementi della GUI di alto livello: caselle di testo con JTextComponent, JTextField, JPasswordField.

 

JTextField

Le caselle di testo permettono, ovviamente, di inserire o visualizzare del testo in oggetti dalle proprietà facilmente recuperabili o modificabili.

 

JPasswordFieldIn questo capitolo ci occuperemo delle caselle di testo che occupano una sola riga, mentre nel prossimo prenderemo in esame le aree di testo; tutti questi oggetti, comunque, discendono da un unico antenato, JTextComponent, che definisce molti dei metodi principali utilizzati dagli altri elementi di testo.

 

 

 

Iniziamo con le JTextField, per le caselle di testo comuni: i costruttori sono

  • JTextField();

  • JTextField(int numCol);

  • JTextField(String str);

  • JTextField(String str, int numCol);

con il parametro numCol che indica quanti caratteri saranno visibili nella casella di testo (è possibile inserirne comunque un quantitativo maggiore: i caratteri 'extra' non verranno visualizzati, ma saranno memorizzati).

 

Metodi utili per recuperare o impostare il testo ed altre caratteristiche di una JTextField (significati ovvi):

  • setColumns(int newNumCol)   :   void

  • getText()   :   String

  • setText(String str)   :   void

  • setEditable(boolean b)   :   void

 

JTextField è estesa da JPasswordField, che permette di definire caselle di testo dal contenuto oscurato (verranno visualizzati dei cerchietti neri al posto dei caratteri digitati), utilissime per implementare - come suggerisce il nome della componente Swing - caselle per l'inserimento di password o altri dati riservati.

 

A parte i costruttori (JPasswordField anzichè JTextField), campi e metodi sono identici a quelli di JTextField e non verranno ripetuti; per una trattazione completa, si rimanda alle relative API.

 

Le JTextField e le JPasswordField possono lanciare un evento di tipo DocumentEvent; in realtà, non è la casella ad essere un Document (lett.: 'documento'), ma il testo in essa contenuto: per questo motivo, JTextComponent mette a disposizione, per le classi che la ereditano (come JTextField e JPasswordField, appunto)  il metodo:

getDocument()   :   Document

che si occupa, appunto, di recuperare il documento contenuto nell'area di testo.

 

Per associare ad un documento un DocumentListener (listener che intercetta eventi di tipo DocumentEvent) occorrerà, poi, invocare il metodo di Document:

addDocumentListener(DocumentListener listener)   :   void

passando come parametro un DocumentListener.

 

Implementare l'interfaccia DocumentListener ci obbliga a (ri)scrivere i metodi:

changeUpdate(DocumentEvent e)   :   void Lanciato quando un attributo è stato modificato.
insertUpdate(DocumentEvent e)   :   void Lanciato all'inserimento di una porzione di testo nel documento.
removeUpdate(DocumentEvent e)   :   void Lanciato quando una porzione di testo è stata rimossa dal documento.

 

 

 
Vai all'inizio della pagina