Che evento si genera su inserimento jtextbox

di il
3 risposte

Che evento si genera su inserimento jtextbox

Ho una JForm che contiene una Jtable con elenco dei record di una tabella e alcune JtextBox che devono essere popolate al click sulla riga della JTable.
la Jtextbox sono rispettivamente txt01 e txt02.
Con l'evento "MouseClicked" sulla riga della tabella, imposto il valore di una cella della riga elenco selezionata nella txt01.
Quindi selezionando le varie righe della tabella posso valoriggare la txt01 con i rispettivi valori:
1
2
20
50
9999

Vorrei che al variare del valore presente nella txt01 (penso che l'evento candidato sia "PropertyChange") venga eseguioto un metodo che deve fare altre cose.
alla modifica delle varie righe dell'elenco, viene visualizzato correttamente nell txt01 il campo corrispondente della riga selezionata, ma non si attiva
l'evento "Property Changed".
Presumo sia un altro ma non so quale sia.
Puoi aiutarmi ?

Grazie

Moreno

3 Risposte

  • Re: Che evento si genera su inserimento jtextbox

    misonsan ha scritto:


    Con l'evento "MouseClicked" sulla riga della tabella
    Innanzitutto quando si registra un MouseListener su JTable, generalmente si mette poi nel mouseClicked() (o altro metodo del listener) la logica per "dedurre" in quale cella è "caduto" l'evento. Ammesso che ti serva sapere la cella esatta. Se non ti serve ... ok.

    misonsan ha scritto:


    Vorrei che al variare del valore presente nella txt01 (penso che l'evento candidato sia "PropertyChange") venga eseguioto un metodo che deve fare altre cose.
    Sui campi di testo (JTextField, JTextArea ecc..) per ricevere notifica di qualunque modifica (anche solo il minimo cambio di 1 carattere), si deve registrare un DocumentListener sul Document agganciato al campo di testo. Il Document è il "modello" del componente di testo.
  • Re: Che evento si genera su inserimento jtextbox

    Ciao Andrea

    mi hai scritto:
    Innanzitutto quando si registra un MouseListener su JTable, generalmente si mette poi nel mouseClicked() (o altro metodo del listener) la logica per "dedurre" in quale cella è "caduto" l'evento. Ammesso che ti serva sapere la cella esatta. Se non ti serve ... ok.
    Creando l'evento via IDE mi crea questo codice
    
      private void txtKeyPropertyChange(java.beans.PropertyChangeEvent evt) {                                      
    
            [color=#0040FF]
            
            // questo è il codice inserito da Moreno
            
            System.out.println("in textkey ho ora il valore: " + txtKey.getText());
           
           JOptionPane.showMessageDialog(null,"in textkey ho ora il valore: " + txtKey.getText());  [/color]
        }                                     
    
    dove vado ad inserire il Listener ?

    La gestione degli eventi mi sembra davvero una cosa molto complicata; sicuramente la sento complicata perchè sbaglio qualcosa operativamente.

    Riesci a capire come posso sistemare il codice per attivare sti benedetti Listener ?

    scusa ancora per il continuo disagio, ma ci terrei davvero molto a capire dove sbaglio e quindi come rendermi operativo.
    ciao

    Moreno
  • Re: Che evento si genera su inserimento jtextbox

    Lo dico subito e chiaramente: PropertyChangeListener NON ti serve. Questo listener si usa molto raramente o comunque per casi davvero particolari. Riguarda in generale quelle proprietà (dei componenti gui o in senso più ampio dei "bean") che si dicono "bound" ovvero che quando cambiano valore notificano i PropertyChangeListener registrati.

    E per i dubbi in generale sui listener ... non so, forse potrebbe aiutarti una spiegazione dei concetti generali(?)
Devi accedere o registrarti per scrivere nel forum
3 risposte