PDA

View Full Version : [JAVA] JTable2


spv42
23-11-2006, 07:51
Allora, io ho un jframe con 2 jpanel, sul secondo di questi jpanel ho una jtable.

Ecco, vorrei che quando il focus passasse alla jtable, mi si selezionasse la prima cella della jtable (per poterla editare), per poi poter navigare all'interno di tutte le altre celle!

Come posso fare?

Vi Ringrazio Andrea.

andbin
23-11-2006, 09:00
Allora, io ho un jframe con 2 jpanel, sul secondo di questi jpanel ho una jtable.

Ecco, vorrei che quando il focus passasse alla jtable, mi si selezionasse la prima cella della jtable (per poterla editare), per poi poter navigare all'interno di tutte le altre celle!

Come posso fare?Devi implementare un FocusListener da associare alla JTable. Devi implementare in particolare il metodo focusGained(). All'interno potresti fare:
table.setRowSelectionInterval (0, 0);
table.setColumnSelectionInterval (0, 0);

Questo seleziona la prima cella. Ma se vuoi già entrare in fase di edit puoi fare:
table.editCellAt (0, 0);

spv42
23-11-2006, 10:18
E poi per navigare all'interno delle celle?

Qualche suggerimento?!

andbin
23-11-2006, 10:31
E poi per navigare all'interno delle celle?Cosa intendi?? Una volta che una cella ha il focus, per spostarsi basta usare le frecce.

spv42
23-11-2006, 10:36
Cosa intendi?? Una volta che una cella ha il focus, per spostarsi basta usare le frecce.

Intendo per spostarmi nelle celle?

con questi metodi penso che individuo la prima cella. Vero?
table.setRowSelectionInterval (0, 0);
table.setColumnSelectionInterval (0, 0);

E poi?

andbin
23-11-2006, 10:44
Intendo per spostarmi nelle celle?

con questi metodi penso che individuo la prima cella. Vero?
table.setRowSelectionInterval (0, 0);
table.setColumnSelectionInterval (0, 0);

E poi?E poi cosa??? Quel codice seleziona la prima riga/colonna (la prima cella in pratica). Poi sta lì ... dipende da cosa vuoi fare tu dopo.

spv42
23-11-2006, 10:59
Ok!

Scrivo nella prima cella 1 colonna/1 riga.
Poi vorrei che premendo le frecce od il tab,
mi spostassi nella 2 colonna/1 riga.

Grazie della pazienza :rolleyes:

andbin
23-11-2006, 11:27
Scrivo nella prima cella 1 colonna/1 riga.
Poi vorrei che premendo le frecce od il tab,
mi spostassi nella 2 colonna/1 riga.Ma è già così, no??

spv42
23-11-2006, 12:13
Ma è già così, no??


Effettivamente non ho provato! (E' una cosa che faccio la sera a tempo perso) :)

Lo Provo e ti faccio sapere!!!

Grazie

spv42
27-11-2006, 08:49
Effettivamente non ho provato! (E' una cosa che faccio la sera a tempo perso) :)

Lo Provo e ti faccio sapere!!!

Grazie


OK, funziona tutto, Grazie.

Ora però ho un' altro problema.

Nella prima colonna non devo poterci scrivere, perhè dentro ci sono scritti i numeri di riga! Come faccio?

E poi, come faccio ad aggiungere una riga alla mia Jtable che era inizialmente di 5 righe?

E ancora, (lo sò che rompo le ...) vorrei che solo la cella selezionata fosse evidenziata, e non tutta la riga!

Io fin'ora nelle mia precedenti tabelle avevo utilizzato un TableModel, ra sembrerebbe che non posso più farlo, mi dò un nullpointer!!!

Grazie.

spv42
27-11-2006, 19:03
up!

andbin
27-11-2006, 20:20
Nella prima colonna non devo poterci scrivere, perhè dentro ci sono scritti i numeri di riga! Come faccio?Usa un table-model e fai l'override di isCellEditable() come ti serve.

E poi, come faccio ad aggiungere una riga alla mia Jtable che era inizialmente di 5 righe?Sempre con un table-model. Aggiungi alla tua struttura dati interna al table-model una riga e poi chiami fireTableRowsInserted().

vorrei che solo la cella selezionata fosse evidenziata, e non tutta la riga!table.setRowSelectionAllowed (true);
table.setColumnSelectionAllowed (true);
table.setSelectionMode (ListSelectionModel.SINGLE_SELECTION);

spv42
28-11-2006, 08:21
Ma con il table model è possibile creare una tabella vuota, cioè visualizzare solo celle vuote?

Io facendo cosi:
mytablemodel.addcolumn("Colonna1");
mytablemodel.addcolumn("Colonna2");

creo una tabella vuota, senza neanche una riga.

spv42
30-11-2006, 09:04
Uppo!! :muro: