Habilitar e desabilitar botões Swing

6 respostas
Jackye

Oi gente!

Tô fazendo uma aplicação desktop.
Por exemplo:
Numa janela de pesquisar todos os atores cadastrados tenho um botao atualizar que chama uma outra janela que justamente a janela de cadastrar,
quando o evento chamar a janela de cadastro, o botão salvar fica desativado e ativa o botao atualizar.

Para chamar a janela de cadastro coloquei o seguinte codigo no botao:

private void btnAtualizarAutorActionPerformed(java.awt.event.ActionEvent evt) { CadastroAutor codCadastroAutor = new CadastroAutor(); codCadastroAutor.setVisible(true); }

Ele chama normal a janela de cadastro, mas como faço pra assim, que a janela de pesquisa chamar a janela de cadastro, essa janela de cadastro ativar o bota atualizar?
Eu sei que tenho que usar algo como btnAtualizarAutor.setEnabled(true);

6 Respostas

L

Oi Jackye.

O método para habilitar e desabilitar um JButton é o setEnabled.
Quando você faz:

nomeDoSeuBotao.setEnabled(true) -> HABILITADO
nomeDoSeuBotao.setEnabled(false) -> DESABILITADO

Att.
Lucas

Nicolas_Fernandes

Jackye:
Oi gente!

Tô fazendo uma aplicação desktop.
Por exemplo:
Numa janela de pesquisar todos os atores cadastrados tenho um botao atualizar que chama uma outra janela que justamente a janela de cadastrar,
quando o evento chamar a janela de cadastro, o botão salvar fica desativado e ativa o botao atualizar.

Para chamar a janela de cadastro coloquei o seguinte codigo no botao:

private void btnAtualizarAutorActionPerformed(java.awt.event.ActionEvent evt) { CadastroAutor codCadastroAutor = new CadastroAutor(); codCadastroAutor.setVisible(true); }

Ele chama normal a janela de cadastro, mas como faço pra assim, que a janela de pesquisa chamar a janela de cadastro, essa janela de cadastro ativar o bota atualizar?
Eu sei que tenho que usar algo como btnAtualizarAutor.setEnabled(true);

Oi, Jackye!
Porque você não passa um Boolean para o seu formulário?
Esse Boolean indica se você está cadastrando ou atualizando.
Caso esteja atualizando, você ativa o botão atualizar!

Abraços, Deus abençoe!

Jackye

Oi! :smiley:
Eu coloco um método boolean que ative o botão atualizar na tela de cadastro? Ou adiciono o método na tela de pesquisa enquanto ela abre a de cadastro?

camilacanova

private void btnAtualizarAutorActionPerformed(java.awt.event.ActionEvent evt) { CadastroAutor codCadastroAutor = new CadastroAutor(); codCadastroAutor.setVisible(true); btnAtualizarAutor.setEnabled(true); }

Pelo que entendi pode ser assim.

Jackye

Eu já tentei.

Como faço uma função booleana para isso?

:frowning:

Nicolas_Fernandes

Jackye, a ideia é a seguinte:

1. Você tem seu formulário e seu evento que faz a chamada do formulário de cadastro:
JButton buttonCadastro = new JButton("Cadastrar Autor");
buttonCadastro.addActionListener(new CadastrarAutorActionListener());

private class CadastrarAutorActionListener implements ActionListener {

    public void actionPerformed(ActionEvent event) {

        //Aqui é feita a chamada do seu formulário de cadastro.
        // Como eu quero ativar o botão atualizar...

        FormularioCadastroAutor formularioCadastroAutor = new FormularioCadastroAutor(true);
        formularioCadastroAutor.exibirFormulario();
    }
}
2. No seu formulário de cadastro, você verifica se você quer ou não exibir o botão de atualizar:
public class FormularioCadastroAutor extends JDialog {

    private JButton buttonAtualizar;
    public FormularioCadastroAutor(boolean ativarBotaoAtualizar) {

        buttonAtualizar = new JButton("Atualizar");
        buttonAtualizar.setEnabled(ativarBotaoAtualizar);
        // e voilà!!!
    }


    public void exibirFormulario() {
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
    }
}

Sacou a ideia? Pelo construtor do seu formulário, você pode passar informações de controle.
É isso que você precisa mesmo?

Criado 28 de fevereiro de 2012
Ultima resposta 28 de fev. de 2012
Respostas 6
Participantes 4