Array list[RESOLVIDO]

14 respostas
J
Minha arraylist nao esta acrescentando esta sobrepondo na tabela esse codigo esta no botao inserir , toda vez que eu clikar nele eh para acrescenta o que esta nos jttex soh que esta sobrepondo e acrescentando uma linha em brancoo
Date hoje = new Date();
    SimpleDateFormat dataformatada = new SimpleDateFormat("dd/MM/yyyy");
    String data = dataformatada.format(hoje);

     List<Campostitulos> minhaLista = new ArrayList();
        Campostitulos t1 = new Campostitulos();
        t1.setData(data);
         t1.setCod(jTCod.getText());
         t1.setProduto(jTProduto.getText());
        t1.setQuant(jTQuant.getText());
         t1.setValor(jTValor.getText());

         minhaLista.add(t1);
      // for (int i =0; i < minhaLista.size();minhaLista.add(c01)){

        
       //for (int i = 0; i < minhaLista.size(); i++) {
          //  System.out.println(minhaLista.get(i));
       

    
 titulob = minhaLista;

       
        String[] linha = new String[]{null,null,null,null,null};
   
            for (int i = 0; i <minhaLista.size(); i++){
                ttitulob.addRow(linha);
                ttitulob.setValueAt(minhaLista.get(i).getData(), i, 0);
                ttitulob.setValueAt(minhaLista.get(i).getCod(), i, 1);
                ttitulob.setValueAt(minhaLista.get(i).getProduto(), i, 2);
                ttitulob.setValueAt(minhaLista.get(i).getQuant(), i, 3);
                ttitulob.setValueAt(minhaLista.get(i).getValor(), i, 4);
            }
    }

Obrigadoo

14 Respostas

Adelar

Olá,
qual o tipo da variável ttitulob?

Att.

J

titulob eh uma defaulttablemodel

E

Siga o conselho do ViniGodoy - não use DefaultTableModel :slight_smile:

J

Eu sei mais naum achei um bom material para criar minha table model , ja o qeu acho explicando e com exemplos saum com default

mais o problema nesse momento naum eh o default eh conseguir inserir na arralist nem sobrepor o que tinha antes , soh acrescentarr

R
Minha arraylist nao esta acrescentando esta sobrepondo na tabela
esse codigo esta no botao inserir , toda vez que eu clikar nele eh para acrescenta o que esta nos jttex soh que esta sobrepondo e acrescentando uma linha em brancoo

Pelo que entendi, supondo q queira adicionar em uma tabela e não for seguir a recomendação que te fizeram de não utilizar DefaultTableModel.

Exclua as linhas 28 a 33 e adicione esta:
ttitulob.addRow(new Object[]{minhaLista.get(i).getData(), minhaLista.get(i).getCod(), assim por diante…});

Adelar

Olá,
troca os códigos entre as linhas 27 e 34, inclusive, por:

int sizeTtitulob=0; for (int i = 0; i <minhaLista.size(); i++){ ttitulob.addRow(linha); sizeTtitulob=ttitulob.getRowCount(); ttitulob.setValueAt(minhaLista.get(i).getData(), sizeTtitulob, 0); ttitulob.setValueAt(minhaLista.get(i).getCod(), sizeTtitulob, 1); ttitulob.setValueAt(minhaLista.get(i).getProduto(), sizeTtitulob, 2); ttitulob.setValueAt(minhaLista.get(i).getQuant(), sizeTtitulob, 3); ttitulob.setValueAt(minhaLista.get(i).getValor(), sizeTtitulob, 4); }
acho que isto resolve.
Segue um link para seguir o conselho do entanglement e do ViniGodoy: http://www.guj.com.br/posts/list/15/199067.java#1001295

Att.

J

Eh acrescentado em uma jtable, nao vai salva em banco de dados nem nada

o que acontece eh assim

Data Cod produto quant valor ai eu cliko para inserir , ele inserir na tabela normal a 1 linha

24/08/2010 / 2 / Areia / 2 / 145.00

ai eu vou colocar um novo item mais quero manter esse aiiii de cimaa, aki esta o problemaa
quanto cliko em inseir

era pra ficar assim

24/08/2010 / 2 / Areia / 2 / 145.00
24/08/2010 / 3 / Pedra / 5 / 145.00

MAIS FICA SIMM

24/08/2010 / 3 / Pedra / 5 / 145.00

eh issuu

J

cara deu erro

a saida foii, e acrescentou linhas em brancoo

run:

Conectado

Exception in thread AWT-EventQueue-0 java.lang.ArrayIndexOutOfBoundsException: 1 >= 1

at java.util.Vector.elementAt(Vector.java:427)

at javax.swing.table.DefaultTableModel.setValueAt(DefaultTableModel.java:648)

at Formularios.vender.jButton2ActionPerformed(vender.java:297)

at Formularios.vender.access$300(vender.java:37)

at Formularios.vender$3.actionPerformed(vender.java:154)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

at java.awt.Component.processMouseEvent(Component.java:6263)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)

at java.awt.Component.processEvent(Component.java:6028)

at java.awt.Container.processEvent(Container.java:2041)

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

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

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

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)

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

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

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

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

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)

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

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

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

at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
E

Tio, o grande problema do DefaultTableModel é que ninguém explica que:

a) Você tem de ler o documento dele,
http://download-llnw.oracle.com/javase/6/docs/api/javax/swing/table/DefaultTableModel.html

b) Cada vez que você modifica alguma coisa na tabela, também precisa chamar algum dos métodos definidos aqui:
http://download-llnw.oracle.com/javase/6/docs/api/javax/swing/table/AbstractTableModel.html
que começam com “fire” (por exemplo, fireTableRowsUpdated - http://download-llnw.oracle.com/javase/6/docs/api/javax/swing/table/AbstractTableModel.html#fireTableRowsUpdated(int,%20int) - se algumas linhas foram atualizadas, por exemplo.

c) Para fazer ele funcionar direito, precisa escrever muito código.

Dica: você está usando o NetBeans. Acho que alguém já explicou aqui que não é para usar aquele wizard que constrói o model para você, a partir das colunas. Você tem de usar as outras opções, e criar o model conforme as dicas que o pessoal lhe passou.


Adelar

Ops… segue novamento e código:

int sizeTtitulob=0; for (int i = 0; i <minhaLista.size(); i++){ ttitulob.addRow(linha); sizeTtitulob=ttitulob.getRowCount()-1; // tinha esquecido do -1 ttitulob.setValueAt(minhaLista.get(i).getData(), sizeTtitulob, 0); ttitulob.setValueAt(minhaLista.get(i).getCod(), sizeTtitulob, 1); ttitulob.setValueAt(minhaLista.get(i).getProduto(), sizeTtitulob, 2); ttitulob.setValueAt(minhaLista.get(i).getQuant(), sizeTtitulob, 3); ttitulob.setValueAt(minhaLista.get(i).getValor(), sizeTtitulob, 4); }

Att.

J

Funcionouu meu velhooo!! o codigoo aii que vc me passouu

int sizeTtitulob=0;   
for (int i = 0; i <minhaLista.size(); i++){   
    ttitulob.addRow(linha);     
    sizeTtitulob=ttitulob.getRowCount()-1; // tinha esquecido do -1   
    ttitulob.setValueAt(minhaLista.get(i).getData(), sizeTtitulob, 0);     
    ttitulob.setValueAt(minhaLista.get(i).getCod(), sizeTtitulob, 1);     
    ttitulob.setValueAt(minhaLista.get(i).getProduto(), sizeTtitulob, 2);     
    ttitulob.setValueAt(minhaLista.get(i).getQuant(), sizeTtitulob, 3);     
    ttitulob.setValueAt(minhaLista.get(i).getValor(), sizeTtitulob, 4);     
}

Muitoo Obrigadoo , Meu o negocio de default eu to sabendoo, mais naum acho exemplos praticos de como criar ate vi uns linkkkss mais para que esta começando eh meioo dificill de entender , por isso se alguem que manja aii, pode fazer um exemploo aii de criar table modell e postarr
Valeww

E

Exemplo prático? Leia os links que o ViniGodoy e o Marky.Vasconcelos põem em suas assinaturas.

A

Pode simplificar o seu código?

J

qual parte vc esta querendo saber?

Criado 27 de agosto de 2010
Ultima resposta 29 de ago. de 2010
Respostas 14
Participantes 5