Jtable erro de indice

Ola pessoal por favor alguem me socorra neste exemplo!!!

Tenho duas tabelas uma principal e outra auxiliar minha ideia é passar alguns dados da tabela auxiliar para principal se estes obedecerem alguns criterios porem ta dando um erro de indice que ñ sei o que segue o codigo abaixo:

somaEspessura=tamanho*(Integer)ControleNumero.getValue();
Object nomePrateleira=null;

    for(int n=0;n<tabelaAux.getRowCount();n++){        
    if((Integer)modeloAux.getValueAt(n,1)>=somaEspessura){            
        nomePrateleira=modelo.getValueAt(n,0);           
       }else{
    }
     modelo.addRow(new Object[]{nomePrateleira});       
    }

Posta tudo aqui ! por Favor !

E quando postar colocar as tags de [CODE] facilitar a visualização!
vlw
abs

ok segue a tela onde o usuario devera selecionar a prateleira onde ficarar o item a ser guardado a primeira tabel aserve so pra ele visualizar e na segunda ele podera selecionar de fato a preteleira seguindo alguns criterios ate ai tudo facil o problema é que na hora de passar os dados de uma tabela para outra da um erro de indice sinceramente o que parece simples ja tirou um pouco minha pasciencia!!!

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * ConfigurarPrateleira.java
 *
 * Created on 23/12/2009, 13:48:48
 */

package Interface;

import codigos.Acervo;
import codigos.ConnectarBancoDeDados;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.DefaultListModel;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;


    // Variables declaration - do not modify
/**
 *
 * @author Nadja
 */
public class ConfigurarPrateleira extends javax.swing.JFrame {
    private ConnectarBancoDeDados conn;
    private final DefaultTableModel modelo = new DefaultTableModel();
    private StringBuffer consulta= new StringBuffer("");
    private ResultSet re=null;
    private Acervo acervo=new Acervo();  
    private List prateleira=new ArrayList();
    private double somaEspessura=0.0;
    private int qnt=10;
    private int cont=0;
    private Object matriz[][]=null;
    private int tamanho=100;
    private String areaA="informática";
    private int indice=-1;
    private  DefaultListModel model= new DefaultListModel();;
    private int somaItens=0;
  //  private JTable tabelaAux=new JTable();
    private final DefaultTableModel modeloAux = new DefaultTableModel();
    

    /** Creates new form ConfigurarPrateleira */
    public ConfigurarPrateleira() {
        initComponents();
         // centraliza a janela
         setLocationRelativeTo(null);        
         modelo.addColumn("Prateleira");
         modeloAux.addColumn("Prateleira");
         modeloAux.addColumn("capacidade");
         tabelaAux.setModel(modeloAux);
       //  tabela.set
         OPAutomatica.setSelected(true);
         DesabilitarCampos();
        // tabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    }

    /** 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.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jSeparator1 = new javax.swing.JSeparator();
        OPAutomatica = new javax.swing.JCheckBox();
        OPManual = new javax.swing.JCheckBox();
        jLabel1 = new javax.swing.JLabel();
        BTCancelar = new javax.swing.JButton();
        Panel = new javax.swing.JPanel();
        l = new javax.swing.JLabel();
        jScrollPane2 = new javax.swing.JScrollPane();
        LSPrateleiras = new javax.swing.JList();
        l1 = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        tabela = new javax.swing.JTable();
        ControleNumero = new javax.swing.JSpinner();
        jScrollPane3 = new javax.swing.JScrollPane();
        tabelaAux = new javax.swing.JTable();
        BTConfirmar = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        addWindowFocusListener(new java.awt.event.WindowFocusListener() {
            public void windowGainedFocus(java.awt.event.WindowEvent evt) {
                kkk(evt);
            }
            public void windowLostFocus(java.awt.event.WindowEvent evt) {
            }
        });
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosed(java.awt.event.WindowEvent evt) {
                CarregarTabela(evt);
            }
        });

        OPAutomatica.setText("Seleção Automática");
        OPAutomatica.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                SelecionarPratileiraAutomaticamente(evt);
            }
        });

        OPManual.setText("Seleção manual");
        OPManual.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                SelecionarPratileiraManualmente(evt);
            }
        });

        jLabel1.setText("Seleção de prateleira");

        BTCancelar.setText("Cancelar");

        l.setText("Número de Itens a ser colocado nessa prateleira");

        jScrollPane2.setViewportView(LSPrateleiras);

        l1.setText("Prateleiras Selecionas");

        tabela.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {

            }
        ));
        tabela.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                PegarPrateleira(evt);
            }
        });
        jScrollPane1.setViewportView(tabela);

        ControleNumero.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(1), Integer.valueOf(1), null, Integer.valueOf(1)));
        ControleNumero.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                ControleNumeroStateChanged(evt);
            }
        });
        ControleNumero.addComponentListener(new java.awt.event.ComponentAdapter() {
            public void componentShown(java.awt.event.ComponentEvent evt) {
                MostrarPrateleiras(evt);
            }
        });

        javax.swing.GroupLayout PanelLayout = new javax.swing.GroupLayout(Panel);
        Panel.setLayout(PanelLayout);
        PanelLayout.setHorizontalGroup(
            PanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(PanelLayout.createSequentialGroup()
                        .addComponent(ControleNumero, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(l, javax.swing.GroupLayout.PREFERRED_SIZE, 274, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(l1)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 348, Short.MAX_VALUE)
                    .addComponent(jScrollPane2))
                .addContainerGap(18, Short.MAX_VALUE))
        );
        PanelLayout.setVerticalGroup(
            PanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(ControleNumero, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(l))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 165, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(l1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        tabelaAux.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {

            }
        ));
        jScrollPane3.setViewportView(tabelaAux);

        BTConfirmar.setText("Confirmar");
        BTConfirmar.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                Validar(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(114, 114, 114)
                        .addComponent(BTConfirmar)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(BTCancelar))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(Panel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(133, 133, 133)
                        .addComponent(jLabel1))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(17, 17, 17)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(OPManual)
                            .addComponent(OPAutomatica, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 214, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 396, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(OPAutomatica)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(OPManual))
                    .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(Panel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(BTConfirmar)
                    .addComponent(BTCancelar))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        

    private void CarregarTabela(java.awt.event.WindowEvent evt) {                                
        // TODO add your handling code here:
     //   SugerirPrateleiras();

    }                               

    private void kkk(java.awt.event.WindowEvent evt) {                     
        // TODO add your handling code here:
       //  SugerirPrateleiras();
    }                    

    private void SelecionarPratileiraAutomaticamente(java.awt.event.MouseEvent evt) {                                                     
        // TODO add your handling code here:
     OPManual.setSelected(false);
     DesabilitarCampos();
    }                                                    

    private void SelecionarPratileiraManualmente(java.awt.event.MouseEvent evt) {                                                 
        // TODO add your handling code here:
        OPAutomatica.setSelected(false);
        HabilitarCampos();
    }                                                

    private void Validar(java.awt.event.MouseEvent evt) {                         
        // TODO add your handling code here:
        if(qnt<prateleira.size()){
            JOptionPane.showMessageDialog(rootPane,"A quantidade de pratileiras selecionadas é insuficiente para armazenar todos os itens");
        }else{
            acervo.setPrateleira(prateleira);
        }
    }                        

    private void PegarPrateleira(java.awt.event.MouseEvent evt) {                                 
        // TODO add your handling code here:
        setPrateleiras();
        int row = tabela.getSelectedRow();
        modelo.removeRow(row);
    }                                

    private void MostrarPrateleiras(java.awt.event.ComponentEvent evt) {                                    
        // TODO add your handling code here:
        
    }                                   

    private void ControleNumeroStateChanged(javax.swing.event.ChangeEvent evt) {                                            
        // TODO add your handling code here:
        Consultar();
conn=new ConnectarBancoDeDados();
somaEspessura=tamanho*(Integer)ControleNumero.getValue();
Object nomePrateleira=null;

        for(int n=0;n<tabelaAux.getRowCount();n++){
        if((Integer)modeloAux.getValueAt(n,1)>=somaEspessura){            
            nomePrateleira=modelo.getValueAt(n,0);           
           }else{
        }
         modelo.addRow(new Object[]{nomePrateleira});       
        }
    }                                           
public void setPrateleiras(){
    indice=indice+1;
    int j=0;
    if(cont==qnt){
        tabela.setEnabled(false);
        JOptionPane.showMessageDialog(rootPane,"Prateleiras selecionadas com sucesso!!!");
    }else{
        for(int i=0;i<(Integer)ControleNumero.getValue();i++){          
    DefaultTableModel tableModel = (DefaultTableModel) tabela.getModel();    
        int row = tabela.getSelectedRow();        
        prateleira.add(tableModel.getValueAt(row, 0).toString());        
        cont++;
        }

        model.add(indice,prateleira.get(prateleira.size()-1));
        LSPrateleiras.setModel(model);
    }
}
private void SetValores(int quantidade,int espessura,String area){
 qnt=quantidade;
 tamanho=espessura;
 areaA=area;
}
    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new ConfigurarPrateleira().setVisible(true);
            }
        });
    }
   public void SugerirPrateleiras() {

    }
   public void Consultar(){
       conn=new ConnectarBancoDeDados();
       somaEspessura=tamanho*(Integer)ControleNumero.getValue();
       
      // int linhas=0;
       consulta.append("select prateleira.nome , prateleira.capacidade ");
        consulta.append("from prateleira ");
        consulta.append("left join estante ");
        consulta.append("on prateleira.estante = estante.id ");
        consulta.append("left join area ");
        consulta.append("on area.id = estante.area ");
        consulta.append("where area.nome = '");
        consulta.append(areaA+"'");
      //  consulta.append(" and prateleira.capacidade >=");
     //   consulta.append(somaEspessura);
        re = conn.Consultar(consulta.toString());
        consulta.delete(0, consulta.length());
        try{
            while(re.next()){
                 String prat=re.getString(1);
                 int cap=re.getInt(2);
                modeloAux.addRow(new Object[]{prat,cap});
            }
        }catch(SQLException ex){
            ex.printStackTrace();
        }
   }

   public void DesabilitarCampos(){

      l.setEnabled(false);
      l1.setEnabled(false);
      LSPrateleiras.setEnabled(false);
      tabela.setEnabled(false);
      ControleNumero.setEnabled(false);
   }
   public void HabilitarCampos(){

      l.setEnabled(true);
      l1.setEnabled(true);
      LSPrateleiras.setEnabled(true);
      tabela.setEnabled(true);
      ControleNumero.setEnabled(true);
          
     }
   

    // Variables declaration - do not modify                     
    private javax.swing.JButton BTCancelar;
    private javax.swing.JButton BTConfirmar;
    private javax.swing.JSpinner ControleNumero;
    private javax.swing.JList LSPrateleiras;
    private javax.swing.JCheckBox OPAutomatica;
    private javax.swing.JCheckBox OPManual;
    private javax.swing.JPanel Panel;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JLabel l;
    private javax.swing.JLabel l1;
    private javax.swing.JTable tabela;
    private javax.swing.JTable tabelaAux;
    // End of variables declaration                   

}

Seu problema está na linha 47: fuja de DefaultTableModel. Ele é o maior motivo de dúvidas e problemas quando usando JTable. Crie seu próprio TableModel (aqui no fórum tem vários exemplos, inclusives recentes; caso a dúvida persista, volte a postar).

FAlou tudo !

Obrigada pela dica vou tentar implementar algo por aqui!!! :stuck_out_tongue:

Ola mais uma vez conseguir mostar minha tela e faze-la rodar porem queria que alguem me passasse um exemplo de classe que substitua o DefaultTableModel pois a classe SimpleTableModel aqui do guj dificulta um pouco para o meu codigo!!!

Ressaltando que é apenas minha opinião, mas eu acho que não tem um jeito “simples” de fazer uma tableModel.

Oi,

Trabalhe com JTable de uma forma inteligente com o ObjectTableModel ( http://markyameba.wordpress.com/2009/05/29/objecttablemodel/ ) e com o Auto-Filtro ( http://www.guj.com.br/posts/list/100793.java )

Tchauzin!

Exemplo explicado: http://www.guj.com.br/posts/list/132698.java#714736