Jtable e compilazione di un form

di il
5 risposte

Jtable e compilazione di un form

Ciao ragazzi volevo farvi una domanda. Ho creato con NetBeans una JTable per la gestione di veicoli. La tabella contiene diverse colonne, tra cui: "proprietario" "modello" ecc...
Ho creato un pulsante che apre un altro JFrame contenente tutti i campi da compilare fatti con le textfield... sapreste dirmi, una volta compilati tutti i campi necessari, come creare un pulsante che riporti tutti i dati all'interno della tabella?! Nella colonna "proprietario" il nome digitato nel campo proprietario, nella colonna "Modello" il testo digitato nel campo modello ecc....

Grazie in anticipo
Scusate se non metto codice, ma proprio non so da dove cominciare!

5 Risposte

  • Re: Jtable e compilazione di un form

    Muezo ha scritto:


    Ho creato un pulsante che apre un altro JFrame contenente tutti i campi da compilare fatti con le textfield... sapreste dirmi, una volta compilati tutti i campi necessari, come creare un pulsante che riporti tutti i dati all'interno della tabella?!
    Per "input" di questo tipo sarebbe più appropriato un JDialog "modale", non un JFrame.
  • Re: Jtable e compilazione di un form

    Ah ok...e come posso collegare campi di testo con la jtable?
  • Re: Jtable e compilazione di un form

    Muezo ha scritto:


    ah ok...e come posso collegare campi di testo con la jtable?
    Dipende da come hai modellato in dati nella tabella (principalmente: dal table model), dipende da come è gestita la finestra ("finestra" in generale, poi come ho detto meglio JDialog) per l'input e da come permetti di ottenere i dati inseriti.
  • Re: Jtable e compilazione di un form

    Allora il model è quello di default "DefaultTableModel" e per quanto riguarda il JDialog lo creo con dei campi da compilare e un bottone che prende i dati e li porta nella tabella.
    Ma sinceramente non mi è ancora chiarissimo... comunque ti ringrazio gia per questo!
  • Re: Jtable e compilazione di un form

    Muezo ha scritto:


    Allora il model è quello di default "DefaultTableModel"
    Ok, anche se non è il massimo ma va bene, non è questo il punto.

    Muezo ha scritto:


    per quanto riguarda il JDialog lo creo con dei campi da compilare e un bottone che prende i dati e li porta nella tabella.
    Per la dialog fai così:

    1) crea una classe che estende JDialog

    2) nel costruttore crea pure la interfaccia utente come vuoi, creando/disponendo i componenti, registrando listener, ecc... insomma tutto quello che serve. Fai in modo che il costruttore riceva come argomento un Frame (passerai il tuo JFrame principale) in modo che JDialog abbia il "owner". E sopratutto che la dialog sia costruita come "modale" (vedi costruttori di JDialog).

    3) In genere si hanno almeno 2 pulsanti, uno di "conferma" l'altro di "annulla". Se li hai entrambi, fai in modo che semplicemente chiudano la dialog e assegnano ad un campo interno boolean un valore true (=conferma) o false (=annulla).

    4) Metti nella classe dei metodi setter/getter che assegnano/leggono i dati ai/dai componenti. Attenzione: non "esporre" i componenti con un getter che es. restituisce JTextField (e meno ancora, non far accedere direttamente ai campi di istanza dei componenti). Perché non sarebbe un buon design.

    5) Metti un metodo es. doInput() che imposta il flag di conferma a false, visualizza la dialog ( setVisible(true) ) e restituisce il flag di conferma.

    A quel punto nella parte "client" (dove si usa la dialog) basta fare una cosa del tipo.
    TuaDialog d = new TuaDialog(tuoFramePrincipale);
    d.setXXX(....);  // imposta tutti i dati (se necessario)
    d.setYYY.......
    if (d.doInput()) {
        ... = d.getXXX();  // prendi tutti i dati
        .....
    }
    E come vedi diventa tutto semplice e "pulito". La dialog non deve "sapere" nulla di tabelle o del resto della tua applicazione.
Devi accedere o registrarti per scrivere nel forum
5 risposte