[ Murder89 @ 28.12.2010. 18:36 ] @
Moze li mi neko objasniti kako da editujem podatke u tabeli, kada selektujem row i kliknem na neko edit(update). Podaci u tom novom dialogu treba da povuku podatke sa tabele i da se izmene.
Za tabelu koristim AbstractTableModel. Za cuvanje podataka datoteku.
[ iMac @ 28.12.2010. 22:08 ] @
http://lmgtfy.com/?q=how+to+use+tables+in+java
[ Murder89 @ 29.12.2010. 20:37 ] @
da mi je to pomoglo ne bi ovde pisao :)
[ 574nk3 @ 29.12.2010. 21:14 ] @
Da li imaš klasu koja predstavlja model za tvoje podatke? Ukoliko želiš da proslediš podatke nekom drugom objektu/formi, prosledi model koji si bind-ovao za JTable.
U okviru klase u kojoj proširuješ "extends AbstractTableModel" ili implementiraš "implements TableModel" bi trebalo da imaš referencu i na objekat koji je zapravo model tvojih podataka.

Evo napisao sam primer, trebalo bi da radi. Iz nekog mog starog koda.

Code:
public class Forma extends AbstractTableModel implements TableModel
{
    Matrix matrix;

    public Forma(Matrix p_matrix)
    {
        matrix = p_matrix;
    }
    
    public Forma(int p_height, int p_width)
    {
        matrix = new Matrix(p_height, p_width);
    }
    
    public Matrix getMatrix()
    {
        return this.matrix;
    }
    
    @Override
    public int getColumnCount() 
       {
        
        return matrix.getWidth();
    }

    @Override
    public int getRowCount()
       {
        
        return matrix.getHeight();
    }

    @Override
    public Object getValueAt(int p_row, int p_col)
       {
        
        return new Integer(matrix.get(p_row, p_col));
    }
    public boolean isCellEditable(int row, int col)
    { 
        return true; 
    }
    
    public void setValueAt(Object p_val, int p_row, int p_col) 
    {
        int val =  ((Integer) Integer.parseInt((String) p_val)).intValue();
        matrix.set(p_row, p_col, val);
        fireTableCellUpdated(p_row, p_col);
    }
}


Sada da ne pišem kod i za tabelu ...

Zatim u nekoj klasi instanciras tabelu

class GlavnaForma extends JDialog implements ActionListener, TableModelListener
....
Code:
    table = new JTable();
        table.setBounds(10, 11, 571, 248);
        
        table.setModel(new Forma(2,2));
        table.getModel().addTableModelListener(this);
        table.getTableHeader().setVisible(false);
        table.setTableHeader(null);
        table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        JScrollPane scrollPane = new JScrollPane(table);
        panelTable.add(scrollPane, BorderLayout.CENTER);
        panelTable.setOpaque(true);


[ Murder89 @ 04.01.2011. 21:27 ] @
Hvala u svakom sluchaju, skontao sam u chemu sam imao problem..... :)