e ai Galera?!
preciso descobrir se uma determinha linha da tabela esta vázia pois só permitirei adição de linha se a atual estiver preenchida, escrevi o seguinte código:
public void addLinhaTabela(){
int i = 0;
int a = 0;
int b = JTbl.getSelectedRow();
for(i=0;i<=3;i++){
if(jTbl.getValueAt(b,i).toString().equals("")){
a = 1;
}
}
if (a == 0){
DefaultTableModel tbl = (DefaultTableModel)jTblCampos.getModel();
tbl.addRow( new String [] {""});
}else {
return;
}
}
mas nos testes diz que o objeto esta nulo.
alguém teria uma dica ou até mesmo um jeito melhor solucionar isto.
valeu galera!
Acho que você teria que fazer assim:
[code]public void addLinhaTabela(){
int i = 0;
int b = JTbl.getSelectedRow();
boolean vazia = false;
for(i=0;i<=3;i++) {
if(jTbl.getValueAt(b,i).toString().equals("")) {
vazia = true;
break;
}
}
if(!vazia) {
// adiciona linha
}
}[/code]
T+
Diego vlw kra, so que fiz do jeito que vc me disse mas continua dando o seguinte erro:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
JTable table =new JTable();
int sel = table.getSelectedRow();
boolean vazia = true;
for( int i =0; i< table.getColumnCount(); i++){
Object obj = table.getValueAt( sel, i );
if( obj != null && obj.toString().trim().length() > 0){
vazia = false;
break;
}
}
if( vazia ){
System.out.println( "LINHA VAZIA" );
} else{
System.out.println( "LINHA NÃO VAZIA" );
}
blza…
Troque essa linha:
for(i=0;i<=3;i++) {
por essa:
for(i=0;i < getRowCount(); i++) {
T+
Cara esqueçe DefaultTableModel e crie uma classe como model que extenda AbstractTableModel
se você procurar na comunidade você acha sobre isso
e lá na classe model crie um metodo que ve se existe a linha na onde você guarda os dados
e que vantagem a maria leva mudando a classe DefaultModel para AbstractModel