GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Conversão para Integer?

java
Tags: #<Tag:0x00007f0090825860>

#1

No meu sistema está dando erro na linha do código

int codigo = (Integer) jTableUsuarios.getValueAt(linha, 0);

Estou tentando jogar os dados da tabela em um JTextField, mas, quanto clico no botão aparece esse erro?


#2

use Integer.parseInt(s); em vez de cast

int codigo = Integer.parseInt(jTableUsuarios.getValueAt(linha, 0));

#3

ficou grifado o final do código entre parentese, ai usei

int codigo = Integer.parseInt ((String) jTableUsuarios.getValueAt(linha, 0));

mas mesmo assim não deu certo continua o mesmo erro.


#4

Dê uma olhada na imagem para ter uma noção do erro, muito obrigado.


#5

Sempre avalie o erro que está sendo retornado do terminal, no caso, ele está tentando acessar além ou antes do ponto em que não a há endereço marcado, por exemplo um array com tamanho 5, você tenta acessar o endereço 10.

nota: ainda não crio nada gráfico em java.


#6

Coloque esse código no evento clicked

JTextField1.setText(""+jTableUsuarios.getValueAt(jTableUsuarios.getSelectedRow(), 0));

Faz assim que vai da certo


#7

não deu certo.


#8

Exception in thread “AWT-EventQueue-0” java.lang.IndexOutOfBoundsException: Invalid index
at javax.swing.DefaultRowSorter.convertRowIndexToModel(DefaultRowSorter.java:514)
at javax.swing.JTable.convertRowIndexToModel(JTable.java:2642)
at javax.swing.JTable.getValueAt(JTable.java:2717)
at view.ViewUsuario.recuperarUsuario(ViewUsuario.java:411)
at view.ViewUsuario.jButtonAlterarActionPerformed(ViewUsuario.java:306)
at view.ViewUsuario.access$500(ViewUsuario.java:25)
at view.ViewUsuario$7.actionPerformed(ViewUsuario.java:194)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)


#9

Bom o erro q ta apontando é que o index é inválido, ou seja essa variável linha pode está com valor errado
faz um teste no lugar de linha coloca 0 ex:

jTableUsuarios.getValueAt(0,0) 

só para ver o que retorna


#10

o erro não deu mais, so que ele ta pegando o “0” e não o que eu selciono, quando eu seleciono a posição 3 ele pega sempre o “0”. sou principiante em programação noob ainda kkk


#11

Sim, era só para testar kkk, então o problema ta nessa variável linha, faz um:

System.out.println(linha);

Para ver qual o valor que ela recebe quando vc clica
ou então se quiser publicar o código aqui para nós ajudar melhor


#12

imprimiu -1


#13

Bom, então agora tem o rumo, tem q ver onde essa variável recebe esse valor, que no caso provavelmente deve ser no evento do mouse.


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

/*
 * ViewTipoProduto.java
 *
 * 
 */
package view;

import controller.ControllerUsuario;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import model.ModelUsuario;

/**
 *
 * @author Eliseu Oliveira
 */
public class ViewUsuario extends javax.swing.JFrame {

    public ViewUsuario() {
        initComponents();
        this.carregarUsuarios();
        setLocationRelativeTo(null);
        this.cancelarOperacao();

    }

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

        buttonGroup1 = new javax.swing.ButtonGroup();
        jTabbedPaneTipoProduto = new javax.swing.JTabbedPane();
        jpCadastro = new javax.swing.JPanel();
        jtfCodigo = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();
        jtfNome = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();
        jbConfirmarAlteracao = new javax.swing.JButton();
        jbCadastrar = new javax.swing.JButton();
        jbCancelar = new javax.swing.JButton();
        jbNovo = new javax.swing.JButton();
        jLabel3 = new javax.swing.JLabel();
        jtfConfirmarSenha = new javax.swing.JPasswordField();
        jLabel4 = new javax.swing.JLabel();
        jtfSenha = new javax.swing.JPasswordField();
        jLabel5 = new javax.swing.JLabel();
        jtfLogin = new javax.swing.JTextField();
        jpConsulta = new javax.swing.JPanel();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTableUsuarios = new javax.swing.JTable();
        jbExcluir = new javax.swing.JButton();
        jButtonAlterar = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Usuários");
        setResizable(false);
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jpCadastro.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jtfCodigo.setEditable(false);
        jtfCodigo.setToolTipText("Código do tipo do produto");
        jtfCodigo.setEnabled(false);
        jpCadastro.add(jtfCodigo, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 30, 85, -1));

        jLabel1.setText("Código:");
        jpCadastro.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 10, -1, -1));

        jtfNome.setToolTipText("Descrição do tipo do produto");
        jpCadastro.add(jtfNome, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 30, 350, -1));

        jLabel2.setText("Nome:");
        jpCadastro.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 10, -1, -1));

        jbConfirmarAlteracao.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/18x18/Save.png"))); // NOI18N
        jbConfirmarAlteracao.setText("Salvar Alteração");
        jbConfirmarAlteracao.setToolTipText("Confirmar alteração no cadastro do tipo do produto");
        jbConfirmarAlteracao.setEnabled(false);
        jbConfirmarAlteracao.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbConfirmarAlteracaoActionPerformed(evt);
            }
        });
        jpCadastro.add(jbConfirmarAlteracao, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 200, -1, -1));

        jbCadastrar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/18x18/Save.png"))); // NOI18N
        jbCadastrar.setText("Salvar");
        jbCadastrar.setToolTipText("Salvar cadastro do tipo de produto");
        jbCadastrar.setEnabled(false);
        jbCadastrar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbCadastrarActionPerformed(evt);
            }
        });
        jpCadastro.add(jbCadastrar, new org.netbeans.lib.awtextra.AbsoluteConstraints(360, 200, -1, -1));

        jbCancelar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/18x18/No.png"))); // NOI18N
        jbCancelar.setText("Cancelar");
        jbCancelar.setToolTipText("Cancelar operação");
        jbCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbCancelarActionPerformed(evt);
            }
        });
        jpCadastro.add(jbCancelar, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 199, -1, -1));

        jbNovo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/18x18/Add.png"))); // NOI18N
        jbNovo.setText("Novo");
        jbNovo.setToolTipText("Limpar todos os campos");
        jbNovo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbNovoActionPerformed(evt);
            }
        });
        jpCadastro.add(jbNovo, new org.netbeans.lib.awtextra.AbsoluteConstraints(117, 199, -1, -1));

        jLabel3.setText("Login:");
        jpCadastro.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 70, -1, -1));
        jpCadastro.add(jtfConfirmarSenha, new org.netbeans.lib.awtextra.AbsoluteConstraints(270, 140, 180, -1));

        jLabel4.setText("Senha:");
        jpCadastro.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(270, 70, -1, -1));
        jpCadastro.add(jtfSenha, new org.netbeans.lib.awtextra.AbsoluteConstraints(270, 90, 180, -1));

        jLabel5.setText("Confirmar senha:");
        jpCadastro.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(270, 120, -1, -1));
        jpCadastro.add(jtfLogin, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 90, 250, -1));

        jTabbedPaneTipoProduto.addTab("Cadastro", jpCadastro);

        jTableUsuarios.setAutoCreateRowSorter(true);
        jTableUsuarios.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null}
            },
            new String [] {
                "Código", "Nome", "Login"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.Integer.class, java.lang.String.class, java.lang.String.class
            };
            boolean[] canEdit = new boolean [] {
                false, false, false
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jTableUsuarios.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
        jTableUsuarios.getTableHeader().setReorderingAllowed(false);
        jScrollPane2.setViewportView(jTableUsuarios);
        if (jTableUsuarios.getColumnModel().getColumnCount() > 0) {
            jTableUsuarios.getColumnModel().getColumn(0).setPreferredWidth(90);
            jTableUsuarios.getColumnModel().getColumn(1).setPreferredWidth(250);
            jTableUsuarios.getColumnModel().getColumn(2).setPreferredWidth(250);
        }

        jbExcluir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/18x18/Delete.png"))); // NOI18N
        jbExcluir.setText("Excluir");
        jbExcluir.setToolTipText("Excluir tipo de produto selecionado");
        jbExcluir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbExcluirActionPerformed(evt);
            }
        });

        jButtonAlterar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/18x18/Modify.png"))); // NOI18N
        jButtonAlterar.setText("Alterar");
        jButtonAlterar.setToolTipText("Alterar tipo de produto selecionado");
        jButtonAlterar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonAlterarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jpConsultaLayout = new javax.swing.GroupLayout(jpConsulta);
        jpConsulta.setLayout(jpConsultaLayout);
        jpConsultaLayout.setHorizontalGroup(
            jpConsultaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jpConsultaLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jbExcluir)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jButtonAlterar)
                .addContainerGap())
            .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 465, Short.MAX_VALUE)
        );
        jpConsultaLayout.setVerticalGroup(
            jpConsultaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jpConsultaLayout.createSequentialGroup()
                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 188, Short.MAX_VALUE)
                .addGroup(jpConsultaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jpConsultaLayout.createSequentialGroup()
                        .addGap(15, 15, 15)
                        .addComponent(jbExcluir))
                    .addGroup(jpConsultaLayout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jButtonAlterar)))
                .addContainerGap())
        );

        jTabbedPaneTipoProduto.addTab("Consulta/Alteração/Exclusão", jpConsulta);

        getContentPane().add(jTabbedPaneTipoProduto, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 470, -1));

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

    private void jbCadastrarActionPerformed(java.awt.event.ActionEvent evt) {                                            
        // TODO add your handling code here:
        if (this.jtfNome.getText().equals("")|| this.jtfLogin.getText().equals("")) {
            JOptionPane.showMessageDialog(rootPane, "Você deve informar o nome para salvar!", "Atenção!", JOptionPane.WARNING_MESSAGE);
            return;
        }
        
        String senha, confirmaSenha;
        senha = new String(this.jtfSenha.getPassword());
        confirmaSenha = new String(this.jtfConfirmarSenha.getPassword());
        
        //testa se as senhas são iguais
        if (senha.equals(confirmaSenha)) {
            this.salvarCorFerragem();
        } else {
            JOptionPane.showMessageDialog(rootPane, "As senhas digitadas não conferem!", "Aviso", JOptionPane.WARNING_MESSAGE);
        }
        //salvar tipo produto
    }                                           

    private void jbExcluirActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
        int linha = jTableUsuarios.getSelectedRow();
        String nome = (String) jTableUsuarios.getValueAt(linha, 1);
        int codigo = (int) jTableUsuarios.getValueAt(linha, 0);

        ControllerUsuario controllerUsuario = new ControllerUsuario();
        //pegunta se realmente deseja excluir o tipo de produto
        int opcao = JOptionPane.showConfirmDialog(this, "Tem certeza que deseja"
                + " excluir o usuário:\n" + "\n " + nome + "?", "Atenção", JOptionPane.YES_NO_OPTION);
        //se sim exclui, se não não faz nada    
        if (opcao == JOptionPane.OK_OPTION) {
            if (controllerUsuario.excluirUsuarioController(codigo)) {
                JOptionPane.showMessageDialog(this, "Registro excluido com suscesso!");
                this.carregarUsuarios();
                this.novoUsuario();
            }
        }
    }                                         

    private void jbCancelarActionPerformed(java.awt.event.ActionEvent evt) {                                           
        // TODO add your handling code here:
        this.cancelarOperacao();
    }                                          

    private void jbNovoActionPerformed(java.awt.event.ActionEvent evt) {                                       
                //abilita botão da interface
        jtfCodigo.setEditable(false);
        this.jbCadastrar.setEnabled(true);
        jbConfirmarAlteracao.setEnabled(false);
        novoUsuario();
    }                                      

    private void jbConfirmarAlteracaoActionPerformed(java.awt.event.ActionEvent evt) {                                                     
        // TODO add your handling code here:
        if (this.jtfNome.getText().equals("")|| this.jtfLogin.getText().equals("")) {
            JOptionPane.showMessageDialog(rootPane, "Você deve informar o nome para salvar!", "Atenção!", JOptionPane.WARNING_MESSAGE);
            return;
        }
        
        String senha, confirmaSenha;
        senha = new String(this.jtfSenha.getPassword());
        confirmaSenha = new String(this.jtfConfirmarSenha.getPassword());
        
        //testa se as senhas são iguais
        if (senha.equals(confirmaSenha)) {
            this.alterarUsuario();
        } else {
            JOptionPane.showMessageDialog(rootPane, "As senhas digitadas não conferem!", "Aviso", JOptionPane.WARNING_MESSAGE);
        }
    }                                                    

    private void jButtonAlterarActionPerformed(java.awt.event.ActionEvent evt) {                                               
        this.habilitarCampos();
        this.recuperarUsuario();
        
        //abilita botão da interface
        jtfCodigo.setEditable(false);
        this.jbCadastrar.setEnabled(false);
        jbConfirmarAlteracao.setEnabled(true);

        //volta a aba anterior
        this.jTabbedPaneTipoProduto.setSelectedIndex(this.jTabbedPaneTipoProduto.getSelectedIndex() - 1);
    }                                              

    /**
     * Salvar
     * @return 
     */
    private boolean salvarCorFerragem() {
        ModelUsuario modelUsuario = new ModelUsuario();
        ControllerUsuario controllerUsuario = new ControllerUsuario();
        modelUsuario.setNome(this.jtfNome.getText());
        modelUsuario.setLogin(this.jtfLogin.getText());
        modelUsuario.setSenha(new String(this.jtfSenha.getPassword()));

        //salvar 
        if (controllerUsuario.salvarUsuarioController(modelUsuario) > 0) {
            JOptionPane.showMessageDialog(this, "Registro gravado com sucesso!");
            this.cancelarOperacao();
            this.carregarUsuarios();
            this.novoUsuario();
            jTabbedPaneTipoProduto.setSelectedIndex(jTabbedPaneTipoProduto.getSelectedIndex() + 1);
            return true;
        } else {
            JOptionPane.showMessageDialog(this, "Erro ao gravar os dados!", "ERRO", JOptionPane.ERROR_MESSAGE);
            return false;
        }

    }
    
    /**
     * alterar
     * @return 
     */
    private boolean alterarUsuario() {
        ModelUsuario modelUsuario = new ModelUsuario();
        ControllerUsuario controllerUsuario = new ControllerUsuario();
        modelUsuario.setCodigo(Integer.parseInt(this.jtfCodigo.getText()));
        modelUsuario.setNome(this.jtfNome.getText());
        modelUsuario.setLogin(this.jtfLogin.getText());
        modelUsuario.setSenha(new String(this.jtfSenha.getPassword()));

        //alterar
        if (controllerUsuario.atualizarUsuarioController(modelUsuario)) {
            JOptionPane.showMessageDialog(this, "Registro alterado com sucesso!");
            this.cancelarOperacao();
            this.carregarUsuarios();
            jTabbedPaneTipoProduto.setSelectedIndex(jTabbedPaneTipoProduto.getSelectedIndex() + 1);
            return true;
        } else {
            JOptionPane.showMessageDialog(this, "Erro ao alterar os dados!", "ERRO", JOptionPane.ERROR_MESSAGE);
            return false;
        }

    }

    private void cancelarOperacao() {
        desabilitarCampos();
    }

    /**
     * carrena na tebla 
     */
    private void carregarUsuarios() {
        ArrayList<ModelUsuario> listaUsuarios = new ArrayList<>();
        ControllerUsuario controllerUsuario = new ControllerUsuario();
        listaUsuarios = controllerUsuario.getListaUsuarioController();

        DefaultTableModel modelo = (DefaultTableModel) jTableUsuarios.getModel();
        modelo.setNumRows(0);

        //CARREGA OS DADOS DA LISTA NA TABELA
        int cont = listaUsuarios.size();
        for (int i = 0; i < cont; i++) {
            modelo.addRow(new Object[]{
                listaUsuarios.get(i).getCodigo(),
                listaUsuarios.get(i).getNome(),
                listaUsuarios.get(i).getLogin()
            });
        }
    }
    
    /**
     * Pega os dados
     *
     * @return boolean
     */
    private boolean recuperarUsuario() {
        ModelUsuario modelUsuario = new ModelUsuario();
        ControllerUsuario controllerUsuario = new ControllerUsuario();

        //recebe a linha selecionada
        int linha = this.jTableUsuarios.getSelectedRow();

        //pega o codigo do cliente na linha selecionada
        int codigo = (Integer) jTableUsuarios.getValueAt(0,0);
        System.out.println(linha);
        //int codigo = (Integer) jTableUsuarios.getSelectedRow();
               

        try {
            //recupera os dados do banco
            modelUsuario = controllerUsuario.getUsuarioController(codigo);
            //seta os dados na interface
            this.jtfCodigo.setText(String.valueOf(modelUsuario.getCodigo()));
            this.jtfNome.setText(modelUsuario.getNome());
            this.jtfLogin.setText(modelUsuario.getLogin());
            return true;
        } catch (Exception e) {
            JOptionPane.showMessageDialog(this, "Código inválido ou nenhum registro selecionado", "Aviso", JOptionPane.WARNING_MESSAGE);
            return false;
        }

    }
    
    protected void desabilitarCampos(){
        jtfNome.setEditable(false);
        jtfCodigo.setEditable(false);
        jtfLogin.setEditable(false);
        jtfSenha.setEditable(false);
        jtfConfirmarSenha.setEditable(false);
        carregarUsuarios();
    }
    
    private void novoUsuario(){
        habilitarCampos();
        jtfCodigo.setText("Novo");
        jtfNome.setText("");
        jtfLogin.setText("");
        jtfSenha.setText("");
        jtfConfirmarSenha.setText("");
    }
    
    private void habilitarCampos(){
        jtfNome.setEditable(true);
        jtfCodigo.setEditable(false);
        jtfLogin.setEditable(true);
        jtfSenha.setEditable(true);
        jtfConfirmarSenha.setEditable(true);
        carregarUsuarios();
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
  
        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new ViewUsuario().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.ButtonGroup buttonGroup1;
    private javax.swing.JButton jButtonAlterar;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JTabbedPane jTabbedPaneTipoProduto;
    private javax.swing.JTable jTableUsuarios;
    private javax.swing.JButton jbCadastrar;
    private javax.swing.JButton jbCancelar;
    private javax.swing.JButton jbConfirmarAlteracao;
    private javax.swing.JButton jbExcluir;
    private javax.swing.JButton jbNovo;
    private javax.swing.JPanel jpCadastro;
    private javax.swing.JPanel jpConsulta;
    private javax.swing.JTextField jtfCodigo;
    private javax.swing.JPasswordField jtfConfirmarSenha;
    private javax.swing.JTextField jtfLogin;
    private javax.swing.JTextField jtfNome;
    private javax.swing.JPasswordField jtfSenha;
    // End of variables declaration                   
}

#15

Poxa mano era para funcionar :frowning:
Será que o @LostSoldier sabe o que pode ta acontecendo? aqui [quote=“EliseuOliveira, post:14, topic:347405”]
int linha = jTableUsuarios.getSelectedRow();
String nome = (String) jTableUsuarios.getValueAt(linha, 1);
int codigo = (int) jTableUsuarios.getValueAt(linha, 0);
[/quote]

Para tentar ajudar, eu acho que eu teria q ter o código para debugar
Olha neste site:


lá funciona de boa o getSelectedRow


#16
java.lang.IndexOutOfBoundsException: Invalid index 

Da esse erro, esse erro diz que o índice informado esta fora da table. mas ta certo tenho outras telas que usa esse mesmo código e funciona só essa que ta nesse pau doido.


#17

Pois é mano, vc vai ter q debugar o código até descobrir, por esta razões que larguei o swing kkkk agr só JavaFX kk


#18

Sinto muito, não mexo com desktop a muito tempo, mas uma configuração que sempre usava e não dava problema era essa…

jTable.setCellSelectionEnabled(false);
jTable.setColumnSelectionAllowed(false);
jTable.setRowSelectionAllowed(true);
jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

Talvez ajude…


#19

tente

int codigo = Integer.parseInt (jTableUsuarios.getValueAt(linha, 0).toString);


#20

larga pra lá.