Problemas como lógica para um chamar um evento na aplicação

3 respostas
Ar0n

Estou desenvolvendo uma aplicação onde em uma tela fica a tabela com todos os meus usuários cadastrados e existe um botão abrir que por default deixei ele com o setEnable(false); e quando o usuário clica em uma linha da minha tabela, onde estão a lista com todos os usuário cadastrados, o botão “abrir” ele recebe .serEnable(true), caso a tabela perca o foco o botão volta a ficar sem poder ser utilizado .setEnable(false), para identificar se a tabela esta selecionada ou não estou usando os eventos de Focus na minha tabela, mas aparentemente esses eventos não estão funcionando da forma como eu quero.

Já que quando eu clico em abrir acredito que as coisas aconteçam na seguinte ordem, a tabela perde o foco e depois ActionPerformed do botão abrir acontece, ou seja, quando clico no meu botão ele fica desabilitado e não seta o método que chamo dentro dele que é o atualizaUser();

Estou tendo uma dificuldade tremenda para lidar com este problema, alguém tem alguma sugestão?

PS: Não quero usar eventos relacionados com o mouse para já chamar o método atualizaUser();, pois quero setar o método a partir do botão abrir.

3 Respostas

drsmachado

Desktop, imagino.
Como está o código?

Ar0n

drsmachado:
Desktop, imagino.
Como está o código?

Cara para essa parte esta bem simples, mas não da para postar o código da aplicação toda já ta com mais de 20 classes da parte que eu falei ta aqui…

private void jTableFocusGained(java.awt.event.FocusEvent evt) {                                   
        jBAbrir.setEnabled(true);
    }                                  

    private void jTableFocusLost(java.awt.event.FocusEvent evt) {                                 
       if(acaoAbrir == true){
           updateUser(rgSelecionado);        
           acaoAbrir = false;           
       }else{
           jBAbrir.setEnabled(false);      
       }
R

porque você não faz o contrario, ao clicar no botão verifica se ha uma linha da tabela selecionada.

if(jTable.getSelectedRowCount() > 0) {
      //executa a ação do botão
 }else{
     //por favor selecione um item na lista
}
Criado 25 de abril de 2013
Ultima resposta 25 de abr. de 2013
Respostas 3
Participantes 3