ERRO Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Row index out of ran

2 respostas
thiagomtek
Galera blz? Estou com um problema que nao sei o que é pq esse programa foi feito ano passado, e acabei perdendo o banco de dados, agora estou estruturando as tabelas novamente mas não sei se esse erro tem ligação com o banco.
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * FramePedidos.java
 *
 * Created on 05/09/2009, 17:33:49
 */

package views;


import java.util.logging.Level;
import java.util.logging.Logger;
import src.ConectaBanco;
import src.CriaTabela;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Locale;
import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import javax.swing.UIManager;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author pepi
 */

public class FramePedidos extends javax.swing.JFrame {

    /** Creates new form FramePedidos */
    public FramePedidos() throws ClassNotFoundException, SQLException {
        this.setExtendedState(FramePrincipal.MAXIMIZED_BOTH);
           try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (Exception ex) {
    }

setTitle("RestShow - Faça Seu Pedido!");

        initComponents();
        jLabel9.setVisible(false);
        jLabel8.setVisible(false);
        jLabel1.setVisible(false);
        jLabel6.setVisible(false);
        jTextField3.setEnabled(false);
         jTextField1.setEnabled(false);


        refreshtabela();

    }




//////////////////////////////////////////////////////////
    public void linguainglesa() {
        jLabel11.setText("NAME:");
        jLabel5.setText("PRICE unit (R$):");
        jLabel4.setText("QUANTITY");
        jButton3.setText("ADD ORDER");
        jLabel7.setText("PREFERENCE");
       // jComboBox2.setModel(aModel); //With Border > No Border
        //jComboBox1                   //Meals , Pizzas, Drinks, Desserts
    }

    public void linguaportuguesa() {

    }
/////////////////////////////////////////////////////////////











////////////////////////////////////////////////////////////////////////

//escrevefield faz a validação. Se o item da lista for refeições, o nome é o que está na linha k e na coluna 0.
// Se for bebidas ou doces, o nome é o que está na linha k e coluna 0.
    private void escrevefield () {

String hello = (String) jComboBox1.getSelectedItem();

  if (hello.equals("Refeições") || hello.equals("Pizzas")) {
      int k = jTable1.getSelectedRow();
    String nome = (String) jTable1.getValueAt(k, 0);
    String valor = (String) jTable1.getValueAt(k, 2);
    jTextField1.setText(nome);
    jTextField3.setText(valor);

  }

  else {
  int k = jTable1.getSelectedRow();
    String nome = (String) jTable1.getValueAt(k, 0);
    String valor = (String) jTable1.getValueAt(k, 1);
    jTextField1.setText(nome);
    jTextField3.setText(valor); 
  }
   
    }
 ////////////////////////////////////////////////////////////////////////////
      public boolean isCellEditable(int row, int column) {
            return false;
      }
/////////////////////////////////////////////////////////////////////////////
    private void refreshtabela() throws ClassNotFoundException, SQLException{

    final DefaultTableModel modelo = new DefaultTableModel() {

            @Override
      public boolean isCellEditable (int row, int col){
          return false;
      }

 };

         jComboBox2.setVisible(false);
         jLabel7.setVisible(false);
 
// Cria as colunas
 String hello = (String) jComboBox1.getSelectedItem();


  if (hello.equals("Refeições") ) {
   jLabel2.setText("REFEIÇÕES:");
    modelo.addColumn("Nome");
    modelo.addColumn("Ingredientes");
    modelo.addColumn("Valor");
    
    }



  else if (hello.equals("Bebidas")) {
        jLabel2.setText("BEBIDAS:");
        modelo.addColumn("Nome");
        modelo.addColumn("Valor");
    }



 else if (hello.equals("Pizzas") ) {
    modelo.addColumn("Nome");
    modelo.addColumn("Ingredientes");
    modelo.addColumn("Valor");
    jLabel2.setText("PIZZAS:");
    jLabel7.setVisible(true);
    jComboBox2.setVisible(true);
    }


  else  {
    jLabel2.setText("SOBREMESAS:");
    modelo.addColumn("Nome");
    modelo.addColumn("Valor");
  }

    ConectaBanco k = new ConectaBanco();
    Connection conec = null;
    conec = k.conecta();
    CriaTabela criatabela = new CriaTabela();
    criatabela.criatabelaus(conec, modelo, hello);

   jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

    jTable1.setModel(modelo);
    jTextField2.setText("1");
    jTable1.setRowSelectionInterval(0, 0);


 escrevefield ();
   }
/////////////////////////////////////////////////////////////////////////////////


 public void escrevenome(String us) {
    jLabel8.setText(us);
   }


    /** 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() {

        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jComboBox1 = new javax.swing.JComboBox();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jTextField1 = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        jTextField2 = new javax.swing.JTextField();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jLabel5 = new javax.swing.JLabel();
        jTextField3 = new javax.swing.JTextField();
        jLabel6 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jButton3 = new javax.swing.JButton();
        jLabel9 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jComboBox2 = new javax.swing.JComboBox();
        jLabel12 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("RestShow - Faça Seu Pedido!");
        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        getContentPane().setLayout(null);

        jLabel1.setFont(new java.awt.Font("Kalinga", 1, 18));
        jLabel1.setText("Mesa:");
        getContentPane().add(jLabel1);
        jLabel1.setBounds(730, 20, 80, 20);

        jLabel2.setFont(new java.awt.Font("Candara", 1, 48));
        jLabel2.setText("none");
        getContentPane().add(jLabel2);
        jLabel2.setBounds(560, 100, 330, 100);

        jComboBox1.setFont(new java.awt.Font("Arial", 1, 18)); // NOI18N
        jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Refeições", "Pizzas", "Bebidas", "Sobremesas" }));
        jComboBox1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jComboBox1ActionPerformed(evt);
            }
        });
        getContentPane().add(jComboBox1);
        jComboBox1.setBounds(640, 510, 160, 30);

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

            },
            new String [] {

            }
        ));
        jTable1.getTableHeader().setReorderingAllowed(false);
        jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                jTable1MouseReleased(evt);
            }
        });
        jScrollPane1.setViewportView(jTable1);

        getContentPane().add(jScrollPane1);
        jScrollPane1.setBounds(290, 190, 800, 280);

        jTextField1.setFont(new java.awt.Font("Arial", 1, 14));
        jTextField1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        getContentPane().add(jTextField1);
        jTextField1.setBounds(210, 640, 230, 20);

        jLabel4.setFont(new java.awt.Font("Arial", 1, 14));
        jLabel4.setText("QUANTIDADE:");
        getContentPane().add(jLabel4);
        jLabel4.setBounds(710, 640, 110, 20);

        jTextField2.setEditable(false);
        jTextField2.setFont(new java.awt.Font("Arial", 1, 14));
        jTextField2.setText("1");
        jTextField2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        getContentPane().add(jTextField2);
        jTextField2.setBounds(810, 640, 80, 19);

        jButton1.setText("-");
        jButton1.setPreferredSize(new java.awt.Dimension(41, 23));
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        getContentPane().add(jButton1);
        jButton1.setBounds(900, 660, 41, 20);

        jButton2.setText("+");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });
        getContentPane().add(jButton2);
        jButton2.setBounds(900, 620, 41, 20);

        jLabel5.setFont(new java.awt.Font("Arial", 1, 14));
        jLabel5.setText("VALOR unidade (R$):");
        getContentPane().add(jLabel5);
        jLabel5.setBounds(460, 640, 150, 20);

        jTextField3.setFont(new java.awt.Font("Arial", 1, 14));
        jTextField3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        getContentPane().add(jTextField3);
        jTextField3.setBounds(610, 640, 60, 19);

        jLabel6.setFont(new java.awt.Font("Tahoma", 0, 18));
        jLabel6.setForeground(new java.awt.Color(153, 153, 153));
        jLabel6.setText("01");
        getContentPane().add(jLabel6);
        jLabel6.setBounds(750, 40, 30, 20);

        jLabel8.setFont(new java.awt.Font("Tahoma", 0, 18));
        jLabel8.setForeground(new java.awt.Color(153, 153, 153));
        jLabel8.setText("none");
        getContentPane().add(jLabel8);
        jLabel8.setBounds(570, 40, 60, 20);

        jButton3.setBackground(new java.awt.Color(255, 255, 255));
        jButton3.setFont(new java.awt.Font("Arial", 1, 14));
        jButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/views/resources/Shopping cart.png"))); // NOI18N
        jButton3.setText("ADICIONAR PEDIDO");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });
        getContentPane().add(jButton3);
        jButton3.setBounds(1000, 620, 220, 60);

        jLabel9.setFont(new java.awt.Font("Kalinga", 1, 18));
        jLabel9.setText("Usuário:");
        getContentPane().add(jLabel9);
        jLabel9.setBounds(550, 20, 100, 20);

        jLabel7.setFont(new java.awt.Font("Arial", 1, 14));
        jLabel7.setText("PREFERÊNCIA:");
        getContentPane().add(jLabel7);
        jLabel7.setBounds(100, 560, 110, 20);

        jLabel11.setFont(new java.awt.Font("Arial", 1, 14));
        jLabel11.setText("NOME:");
        getContentPane().add(jLabel11);
        jLabel11.setBounds(160, 640, 50, 20);

        jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Com Borda", "Sem Borda" }));
        getContentPane().add(jComboBox2);
        jComboBox2.setBounds(220, 560, 90, 20);

        jLabel12.setFont(new java.awt.Font("Arial", 1, 14)); // NOI18N
        jLabel12.setText("Filtrar resultado:");
        getContentPane().add(jLabel12);
        jLabel12.setBounds(640, 470, 170, 40);

        jLabel10.setIcon(new javax.swing.ImageIcon(getClass().getResource("/views/resources/pedidos.png"))); // NOI18N
        getContentPane().add(jLabel10);
        jLabel10.setBounds(0, 0, 1280, 770);

        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-1289)/2, (screenSize.height-800)/2, 1289, 800);
    }// </editor-fold>                        


    private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
 try {
            refreshtabela();
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(FramePedidos.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(FramePedidos.class.getName()).log(Level.SEVERE, null, ex);
        }
}                                          

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        String quanted = jTextField2.getText();
        int quant = Integer.parseInt(quanted);
        quant = quant +1;
        String numero = new Integer(quant).toString();
        jTextField2.setText(numero);
    }                                        

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:

        String quanted = jTextField2.getText();
        int quant = Integer.parseInt(quanted);

        if (quant >=2) {
            quant = quant -1;
            String numero = new Integer(quant).toString();
            jTextField2.setText(numero);
        }

        else {
             JOptionPane.showMessageDialog(null, "A Quantidade Mínima é 1." );
        }

    }                                        

    private void jTable1MouseReleased(java.awt.event.MouseEvent evt) {                                      
        escrevefield();
        jTextField2.setText("1");
    }                                     

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
             if (JOptionPane.showConfirmDialog(null,"Tem certeza que deseja adicionar para o pedido?")==JOptionPane.OK_OPTION){


            String us = jLabel8.getText(); //usuario
            String mesa = jLabel6.getText(); //mesa
            String frase = "MESA " + mesa + ": " + us + " deseja"; //Mesa 01: pedro deseja
            
            String preferencia = "";
            
          String oqq = jLabel2.getText();
           if (oqq.equals("PIZZAS:") ) {
            preferencia = (String) jComboBox2.getSelectedItem();
            }

            String quant = jTextField2.getText(); //1
            String oq = jTextField1.getText(); //Abacaxi
            String memo = quant + " " + oq; // 1 Abacaxi


            String precouni = "R$: " + jTextField3.getText();

            ///////////////////////////////////
            String quanted = jTextField2.getText();
            int quantedd = Integer.parseInt(quanted);

            String preco = jTextField3.getText();
            Float precoo = Float.parseFloat(preco);
            Float quanti = quantedd * precoo;



            String formatada = String.format(Locale.US,"%1$.2f",quanti);
            String numeroo = "R$: " + formatada;

            try {
                FrameConfirmaPedidos.getInstance().escrevenome(frase, memo, quanted, oq, precouni, formatada, numeroo,preferencia);
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(FramePedidos.class.getName()).log(Level.SEVERE, null, ex);
            } catch (SQLException ex) {
                Logger.getLogger(FramePedidos.class.getName()).log(Level.SEVERE, null, ex);
            }

            JOptionPane.showMessageDialog(null, "O Pedido Foi Adicionado para o formulário de pedidos. Para confirmar seu pedido, favor ir ao formulário de confirmação.");


        }
    }                                        


    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    new FramePedidos().setVisible(true);
                } catch (ClassNotFoundException ex) {
                    Logger.getLogger(FramePedidos.class.getName()).log(Level.SEVERE, null, ex);
                } catch (SQLException ex) {
                    Logger.getLogger(FramePedidos.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JComboBox jComboBox1;
    private javax.swing.JComboBox jComboBox2;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField2;
    private javax.swing.JTextField jTextField3;
    // End of variables declaration                   

}

2 Respostas

BrunoBastosPJ

Cole o stacktrace da exceção…

thiagomtek

init: Deleting: D:\RestShow\projeto faitec\Mesas\PizzariaMesas\build\built-jar.properties deps-jar: Updating property file: D:\RestShow\projeto faitec\Mesas\PizzariaMesas\build\built-jar.properties compile: run: Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Row index out of range at javax.swing.JTable.boundRow(JTable.java:2106) at javax.swing.JTable.setRowSelectionInterval(JTable.java:2129) at views.FramePedidos.refreshtabela(FramePedidos.java:178) at views.FramePedidos.<init>(FramePedidos.java:53) at views.FramePrincipal.jButton1ActionPerformed(FramePrincipal.java:234) at views.FramePrincipal.access$000(FramePrincipal.java:27) at views.FramePrincipal$1.actionPerformed(FramePrincipal.java:179) 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:6267) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6032) 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:4577) 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)

Criado 1 de agosto de 2010
Ultima resposta 2 de ago. de 2010
Respostas 2
Participantes 2