Problema JTable

di il
1 risposte

Problema JTable

Salve, sono uno studente di informatica alle prese con un programma che simuli una rubrica attraverso l'utilizzo di una jtable.
ho provato a leggere il tutorial della Oracle ma non è stato molto d'aiuto.
il mio problema consiste nel creare una tabella di tre colonne le prime dueche contengano JTextField in modo tale da potere impostare il numero massimo di caratteri che possono essere inseriti e l'ultima colonna contenente un jbutton che permetta di cancellare la riga.
inoltre mi piacerebbe che il numero di righe sia dinamico e con un bottone venga aggiunta una riga con le caratteristiche precedentemente descritte.
Non voglio che mi facciate voi il programma perchè appunto sono qui per imparare vorrei solo sapere cosa devo modificare quali interfacce devo implementare se devo modificare il TableModel oppure i render e gli editor anche capire cosa siano questi oggetti sarebbe interessante (ho gia provato a chiedere al professore ma ne sa meno di me)

1 Risposte

  • Re: Problema JTable

    leonardo98_ ha scritto:


    il mio problema consiste nel creare una tabella di tre colonne le prime dueche contengano JTextField in modo tale da potere impostare il numero massimo di caratteri che possono essere inseriti e l'ultima colonna contenente un jbutton che permetta di cancellare la riga.
    inoltre mi piacerebbe che il numero di righe sia dinamico e con un bottone venga aggiunta una riga con le caratteristiche precedentemente descritte.
    Tutto dipende dalla implementazione del table model che intendi utilizzare. Innanzitutto c'è prima una questione più fondamentale: una riga cosa rappresenta? Intendo dire, che entità è? Hai pensato di modellare questa entità con una apposita classe? Generalmente è preferibile.

    Se hai una tua classe che rappresenta una riga, allora l'unica implementazione predefinita nel framework (escludendo quelle "fisse" nei costruttori di JTable, che sarebbero peggio) ovvero DefaultTableModel non ti andrebbe affatto bene, perchè contiene una struttura molto "destrutturata", fatta di Vector di Vector di oggetti.

    Se hai una classe TuaEntita, allora sarebbe più logico trattare es. un List<TuaEntita> o al limite un Vector<TuaEntita>. E questo porta alla conclusione che se è così, la cosa migliore da fare è implementare un table model personalizzato.

    Questo però significa comprendere bene cosa è un table model e cosa deve fare. Purtroppo in un unico post non riuscirei a spiegare tutto (né avrei voglia ....) quindi dovresti cercare di documentarti sui table model.

    Se hai dubbi precisi, chiedi pure. E magari dai anche una occhiata ai miei "vecchi" Java Examples (sezione Tables ovviamente) che trovi qui. Sono un po' vecchi e ho poi intenzione di portarli altrove, ma al momento sono ancora lì.
Devi accedere o registrarti per scrivere nel forum
1 risposte