Alteração de tabela com alternância de aba

6 respostas Resolvido
programaçãojava
M

Ola, tenho esse formulário onde pretendo fazer alteração do usuario cadastrado no banco de dados, porém o código que to usando esse abaixo da imagem não faz nada … ele era pra me levar pra primeira aba com o usuario selecionado e habilitado para edição mas não faz nada vezes nada… alguém sabe o erro ou erros? Grato desde já. Segue a imagem das abas e o código.

private void jButtonAlterarActionPerformed(java.awt.event.ActionEvent evt) {

this.habilitarCampos();
    this.recuperarUsuario(); 
    //habilita o botão da interface
    jtfCodigo.setEditable(false);
    // jbCadastrar é é o nome da variável do  botão salvar
    this.jbCadastrar.setEnabled(false);
    // jbConfirmarAlteracao é o nome da variável do  botão salvar alteração
    jbConfirmarAlteracao.setEnabled(false);
    //volta a aba anterior
    this.jTabbedPaneTipoProduto.setSelectedIndex(this.jTabbedPaneTipoProduto.getSelectedIndex() - 1);
         
}

6 Respostas

L

O que este método faz?

M

Ele deveria pegar o usuario selecionado da aba 2 e habilitar ele na aba 1 acho que ele pega o usuario do banco

L

E como ele faz isso? Tem o código ou só a declaração e chamada do método?

M

Veja se é esse pois eu não entendo muito bem… e tem a classe controllerUsuario.java citada no codigo abaixo…

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(linha, 0);

    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;
    }
M

Luis_Augusto_Santos consegui resolver apenas fazendo a inversão dos codigos por acaso e deu certo !!!

so que agora as opções de salvar estão desabilitadas vixeee
Agora ao clicar no botão ele me leva para outra aba so preciso liberar o salvar e salvar alterações

this.recuperarUsuario();
this.habilitarCampos();

M
Solucao aceita

Desculpe a minha ignorância é que sou leigo no assunto, problema resolvido de forma … paciência 1000 …

ficou assim o código com a correção.

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(linha, 0);

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;
}

}

Criado 20 de março de 2017
Ultima resposta 20 de mar. de 2017
Respostas 6
Participantes 2