1) Cosa sono "EnterTextListener" e "JTextLabel"?
2) JTextArea (per ovvi motivi) non prevede il metodo addActionListener, quindi non ci si può associare un ActionListener. JTextArea è un componente "complesso": funziona secondo il modello di programmazione Document. Essa contiene, appunto, un Document che è responsabile del trattamento dei dati visualizzati e introdotti nella JTextArea. Se si vuole poter far fare qualcosa di diverso al pulsante ENTER in una JTextArea bisogna aggiungere un nuovo KeyStroke al default per l'ENTER.
La classe MiaAzioneEnter sarà qualcosa del genere:codice:// Ottengo il KeyMap della mia JTextArea Keymap km = textArea.getKeymap(); // Aggiungiamo una nuova azione per il tasto ENTER // ATTENZIONE: il tasto ENTER d'ora in avanti farà quello che io gli dico km.addActionForKeyStroke(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), new MiaAzioneEnter());
Ciao.codice:class MiaAzioneEnter extends TextAction { public MyEnterAction() { super("Mia_Azione_Enter"); // Diamo un nome all'azione } public void actionPerformed(ActionEvent e) { // Otteniamo la JTextArea "source" dell'evento JTextArea textArea = (JTextArea) getTextComponent(e); ... // Fai quello che vuo alla pressione del tasto ENTER } }![]()



Rispondi quotando