Quote Originariamente inviata da Fix87 Visualizza il messaggio
praticamente ho un bottone reset che mi resetta semplicemente i campi.
Inizialmente è disabilitato e vorrei che si attivasse qualora si inserisse almeno un carattere in una delle JTextField.
La stessa situazione mi si presenterà successivamente con il bottone Esegui, che dovrà attivarsi soltanto quando almeno 3 JTextField saranno attive.
Come posso fare ciò?
Le logiche di "interazione" di questo tipo tra due o più componenti possono essere anche complesse (anche di più del tuo scenario) e pertanto risultano abbastanza specifiche. E purtroppo nel framework standard di Java SE non c'è nulla del genere di già "fatto".
Quindi le solite soluzioni sono: o lo si fa a "manina", con un po' di codice aggiuntivo, oppure si cerca una libreria per componenti Swing che offre logiche del genere (non ne conosco) .

La soluzione fai-da-te comunque non è difficile: tutti i componenti di testo hanno un Document (get/setDocument) e su questo è possibile registrare un DocumentListener, che riceve notifica di tutti, ma proprio tutti, i possibili cambiamenti (digitazione manuale, copia-incolla, modifica programmatica).
Basta quindi fare in modo che la notifica della modifica per tutti gli N textfield arrivi ad una "entità" (oggetto) che però deve essere a conoscenza a priori di tutti i textfield (deve avere i reference) e quindi ad ogni modifica fare una logica semplice del tipo: se almeno uno non è vuoto, abilito il componente X (altro reference da tenere) oppure lo disabilito.

Se si implementa bene questa logica si può anche renderla ben incapsulata, riutilizzabile e più o meno flessibile.
E bravo che mi hai anche dato lo spunto per il mio prossimo Java Example.