Dúvida c/ JTable e DefaultTableModel

7 respostas
H

Galerinha eu n to em casa e n tem como testar isso, pq n tem sgbd aki, entao recorri a vcs: to fazendo o uso de 1 jTable na minha app e ele acessa 1 defaultTableModel q irá pegar os dados no banco, dai se eu editar o dafaultTableModel, ele ira alterar o banco diretamente? Nao ne? Eu tenho q alterar os 2 ne? Ele n faz isso so ne isso? Vlws…

7 Respostas

fabiofalci

Nao, ele nao ira alterar o banco… tu vai ter que alterar tb…
Ou tu cria um TableModel que faz isso pra ti…
Quando ele for alterado vai e atualiza o banco!!

kuchma

O DefaultTableModel nao faz isso automaticamente nao.

Marcio Kuchma

H

Eh como eu previa, vlw ai, eu faco no braco msm , vlws :smiley:

H

rpz to kebrando a cabeca e n consigo passar os dados da tabela p o model do jtable, alguem q ja fez isso posta o codigo ai pq isso eh facil, mas to complicando as coisas axo, vlw.

obs: os campos da tabela q vou pegar sao: id, orgao, instituicao, ano, area, cargo

H

Rpz eh o seguinte n to conseguindo passar os dados do meu vector q eh retornado pela Persistencia p o meu DefaulTableModel na minha interface grafica, vo por os codigos:

Metodo pegarDados()
Aqui eu nao tou pegando os dados do banco ainda nao, tou testando dados estaticos p/ evitar complicacoes, qnd tiver funcionando ai passo a pegar dados do banco.

public static Vector pegarDados() {
        Vector vec = new Vector(1,1);
        v[0][0] = String.valueOf(rs.getInt("id"));
        vec.add("001);
        return vec;
}

Interface Grafica: action WindowsOpen, executa qnd a janela abre.

private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  
        Vector colunas = new Vector(1,1);
        colunas.add("id");
        model = new DefaultTableModel(Persistencia.pegarDados(),colunas);
        jTable1.setModel(model);
 }

To passando os dados direitinho (creio eu), to passando p DefaultTableModel() dois Vector´s, mas ta dando o seguinte erro:

Exception in thread AWT-EventQueue-0 java.lang.ClassCastException: java.lang.String

at javax.swing.table.DefaultTableModel.justifyRows(DefaultTableModel.java:242)

at javax.swing.table.DefaultTableModel.setDataVector(DefaultTableModel.java:198)

at javax.swing.table.DefaultTableModel.(DefaultTableModel.java:133)

at provas.GuiPrincipal.formWindowOpened(GuiPrincipal.java:221)

at provas.GuiPrincipal.access$000(GuiPrincipal.java:15)

at provas.GuiPrincipal$1.windowOpened(GuiPrincipal.java:59)

at java.awt.Window.processWindowEvent(Window.java:1187)

at javax.swing.JFrame.processWindowEvent(JFrame.java:266)

at java.awt.Window.processEvent(Window.java:1148)

at java.awt.Component.dispatchEventImpl(Component.java:3955)

at java.awt.Container.dispatchEventImpl(Container.java:2024)

at java.awt.Window.dispatchEventImpl(Window.java:1774)

at java.awt.Component.dispatchEvent(Component.java:3803)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Alguem sabe?

H

alguem me ajuda, plis

R

da uma olhada
eu faço assim e sempre funcionou

Vector v;

v = new Vector();

//jTable1 eh a tabela que eu quero alterar

DefaultTableModel m = (DefaultTableModel) jTable1.getModel();
v.add(v1);

v.add(v2);

v.add(v3);

m.addRow(v);

flw cara
qualquer parada so falar

Criado 29 de junho de 2006
Ultima resposta 2 de abr. de 2008
Respostas 7
Participantes 4