porque não quer dar certo…
A tabela inicialmente aparece vazia. e quando eu tento adicionar os valores da String… ele n atualiza na tabela (no jframe).
o nome do DefaultTableModel é mTable e não mTable2
LG11
hmm… o revalidate() so funciona na jtable.
ma aqui não deu certo.
Da uma olhada no codigo pra vc ver.
talvez vc veja algum erro meu que eu tenha feito no JTable.
emanuelcruz, erro de escrita apenas. o nome eh sem o 2*.
edit…
skeci de colocar os arquivos que carrega… xD
M
mr.maieski
Ae colega
Este exemplo abaixo usando conexao e inserindo na tabela, espero que ajude
falow
publicstaticbooleanmontaTabela(Stringsql){ResultSetrs=ConexaoBD.Conexao.Consulta(sql);DefaultTableModelaModel=(DefaultTableModel)Interface.Frame_principal.jTBL_tabela.getModel();aModel.setNumRows(0);Interface.Frame_principal.jTBL_tabela.setModel(aModel);try{rsmd=rs.getMetaData();intqtdcolunas=rsmd.getColumnCount();System.out.println("Quantidades Colunas: "+qtdcolunas);String[]tablecoluns=newString[qtdcolunas];while(rs.next()){Object[]obj=newObject[qtdcolunas];for(inti=0;i<qtdcolunas;i++){obj[i]=rs.getObject(i+1);tablecoluns[i]=rsmd.getColumnName(i+1);//System.out.println("Nome da Coluna: "+rsmd.getColumnName(i+1));//System.out.println("Nome da Coluna Obj: "+obj[i]);}// Coloca nome na colunaaModel.setColumnIdentifiers(tablecoluns);// Coloca o conteudo na tabelaaModel.addRow(obj);}}catch(SQLExceptionex){System.err.println("SQLException MontaTabela: "+ex.getMessage());returnfalse;}catch(Exceptionex){System.err.println("Exception MontaTabela: "+ex.getMessage());returnfalse;}// Metodo que define o tamanho das colunastamanhoColuna();Interface.Frame_principal.jTBL_tabela.setModel(aModel);returntrue;}
LG11
mr.maieski,
a JTable que vc me mostrou eh para uma aplicação muito grande.
Eu não preciso disso.
Eu estava ate pensando em trocar a JTable por JTextField’s.
eu so uso 2 tabelas…
1 tabela de proporção 2x1.
1 tabela de proporção 3x2.
Num há um metodo mais simples que eu possa usar não!?
O JTable seria uma boa opção pra mim. Mas se não houver saída… vou recorrer ao JTextField.
M
mr.maieski
Ae colega...
Faz um teste neste codigo a baixo....eu tirei a parte do banco... Agora está mais facil de entender...
falow
importjavax.swing.table.DefaultTableModel;/* * Jfram.java * * Created on 18 de Janeiro de 2008, 14:19 *//** * * @author Administrador */publicclassJframextendsjavax.swing.JFrame{/** Creates new form Jfram */publicJfram(){initComponents();DefaultTableModelaModel=(DefaultTableModel)jTable1.getModel();aModel.setNumRows(0);jTable1.setModel(aModel);intqtdcolunas=3;intqtdlinhas=3;System.out.println("Quantidades Colunas: "+qtdcolunas);System.out.println("Quantidades Linhas: "+qtdlinhas);String[]tablecoluns=newString[qtdcolunas];for(inty=0;y<qtdlinhas;y++){Object[]obj=newObject[qtdcolunas];for(inti=0;i<qtdcolunas;i++){obj[i]="Conteudo";tablecoluns[i]="Nome da Coluna";}aModel.setColumnIdentifiers(tablecoluns);aModel.addRow(obj);}}/** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponentsprivatevoidinitComponents(){jScrollPane1=newjavax.swing.JScrollPane();jTable1=newjavax.swing.JTable();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);jTable1.setModel(newjavax.swing.table.DefaultTableModel(newObject[][]{{null,null,null,null},{null,null,null,null},{null,null,null,null},{null,null,null,null}},newString[]{"Title 1","Title 2","Title 3","Title 4"}));jScrollPane1.setViewportView(jTable1);javax.swing.GroupLayoutlayout=newjavax.swing.GroupLayout(getContentPane());getContentPane().setLayout(layout);layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(javax.swing.GroupLayout.Alignment.TRAILING,layout.createSequentialGroup().addContainerGap(15,Short.MAX_VALUE).addComponent(jScrollPane1,javax.swing.GroupLayout.PREFERRED_SIZE,375,javax.swing.GroupLayout.PREFERRED_SIZE).addContainerGap()));layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addContainerGap().addComponent(jScrollPane1,javax.swing.GroupLayout.PREFERRED_SIZE,275,javax.swing.GroupLayout.PREFERRED_SIZE).addContainerGap(14,Short.MAX_VALUE)));pack();}// </editor-fold>//GEN-END:initComponents/** * @param args the command line arguments */publicstaticvoidmain(Stringargs[]){java.awt.EventQueue.invokeLater(newRunnable(){publicvoidrun(){newJfram().setVisible(true);}});}// Variables declaration - do not modify//GEN-BEGIN:variablesprivatejavax.swing.JScrollPanejScrollPane1;privatejavax.swing.JTablejTable1;// End of variables declaration//GEN-END:variables}
LG11
mr.maieski,
agora sim deu pra ter uma noção.
mas acho que vou mudar meu frame. em vez de usar JTable… vou usar JTextField.
Gastarei menos codigo por 6 quadrinhos.