Olá a todos!
Está gerando o seguinte erro:
09:42:45,522Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2
at tableModel.MyTableModelAnimal.isCellEditable(MyTableModelAnimal.java:76)
at javax.swing.JTable.isCellEditable(Unknown Source)
at javax.swing.JTable.editCellAt(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI$Handler.adjustSelection(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(Unknown Source)
at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Eis a classe:
package tableModel;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import javaBeans.Animal;
import javaBeans.Especie;
import javaBeans.Proprietario;
import javaBeans.Raca;
public class MyTableModelAnimal extends AbstractTableModel{
private static final long serialVersionUID = 1L;
private ArrayList linhas;
private String[] colunas;
boolean [] colsEdicao;
public MyTableModelAnimal(ArrayList linhas, String[] colunas, boolean [] edicao){
this.linhas = linhas;
this.colunas = colunas;
this.colsEdicao = edicao;
}
public int getColumnCount(){
return colunas.length;
}
public int getRowCount(){
return linhas.size();
}
public Object getValueAt(int rowIndex, int columnIndex){
Animal animal = (Animal) linhas.get(rowIndex);
switch(columnIndex) {
case 0: return animal.getNumInterno();
case 1: return animal.getNumExterno();
case 2: return animal.getSexo();
case 3: return animal.getDataNascimento();
case 4: return animal.getEspecie();
case 5: return animal.getNomeMae();
case 6: return animal.getNomePai();
case 7: return animal.getProprietario();
case 8: return animal.getRaca();
case 9: return animal.getTipo();
case 10: return animal.getFinalidade().getDoadorEmbriao();
case 11: return animal.getFinalidade().getDoadorOvocito();
case 12: return animal.getFinalidade().getDoadorSemen();
case 13: return animal.getFinalidade().getProdutoFIV();
case 14: return animal.getFinalidade().getEspeficicarFIV();
case 15: return animal.getFinalidade().getProdutoIA();
case 16: return animal.getFinalidade().getProdutoTE();
case 17: return animal.getFinalidade().getIrmaoGemeo();
case 18: return animal.getFinalidade().getOutros();
case 19: return animal.getFinalidade().getEspeficificarOutros();
}
return null;
}
public Object getValue(int rowIndex){
return linhas.get(rowIndex);
}
public boolean isCellEditable(int rowIndex, int columnIndex){
return colsEdicao[columnIndex];
}
public void setValueAt(Object value, int rowIndex, int columnIndex){
Animal animal = (Animal) linhas.get(rowIndex);
animal.setNumInterno((String) value);
animal.setNumExterno((String) value);
animal.setSexo((String) value);
animal.setDataNascimento((Date) value);
animal.setEspecie((Especie) value);
animal.setNomeMae((String) value);
animal.setNomePai((String) value);
animal.setProprietario((Proprietario) value);
animal.setRaca((Raca) value);
animal.setTipo((String) value);
animal.getFinalidade().setDoadorEmbriao((String) value);
animal.getFinalidade().setDoadorOvocito((String) value);
animal.getFinalidade().setDoadorSemen((String) value);
animal.getFinalidade().setProdutoFIV((String) value);
animal.getFinalidade().setEspeficicarFIV((String) value);
animal.getFinalidade().setProdutoIA((String) value);
animal.getFinalidade().setProdutoTE((String) value);
animal.getFinalidade().setIrmaoGemeo((String) value);
animal.getFinalidade().setOutros((String) value);
animal.getFinalidade().setEspeficificarOutros((String) value);
fireTableCellUpdated(rowIndex,columnIndex);
}
}
Não sei porquê está gerando esse erro. Alguém pode me ajudar?
Até mais
Patty