Variável booleana dentro de um IF que não leva o valor para outro IF

Caros, bom dia, boa tarde ou boa noite!

Tenho uma determinada classe que tem o método trocarImagemBotao(). Esse método recebe uma lista de JButtons, uma lista de imagens, uma lista de parâmetros e o evento do mouse.
Dentro desse método tenho as linhas de comandos e dentre elas estão o bloco que não atende ao solicitado.

exemplo:

boolean bolRolagemIn;
boolean bolRolagemOut;

switch(recebeEvento){
    case "INSERIDO" -> {
    }
    case "PRESSIONADO" -> {
        bolRolagemIn = jbBotao.getModel().isRollover();
        // quando o evento é o pressionado, essa variável é bolRolagemIn  = true
    }
    case "LIBERADO" -> {
        bolRolagemOut = jbBotao.getModel().isRollover();
        // quando liberado sobre o JButton, bolRolagemOut = true, senão = false
        // nesse evento eu preciso verificar essas variáveis para que eu faça a troca de imagem 
        // do JButton.
        /* o problema que bolRolagemIn foi "true" no evento pressionado e aqui no evento liberado, eu 
            faço a verificação e constato que bolRolagemIn = false */
    }
    case "SAIU" -> {
    }
}

Pergunta: Porque não consigo trazer o valor da variável de um CASE para outro CASE?
Lembrando que também tentei com IFs, mas também não deu certo.
Também tentei deixar essas duas variáveis como privadas, mas também deparo com o mesmo problema.

 De antemão, agradeço a todos os auxílios que virão!
 Abraços!
1 curtida

Essas variáveis estão declaradas na classe ou no método? Se estiverem no método, são novas variáveis a cada execução do método…

pmlm, bom dia!
Primeiramente, obrigado por responder-me!

Estas duas variáveis estão declaradas como privadas na Classe!

Deixa eu explicar melhor, para você me entender!

Eu estava tratando os eventos do mouse sobre uns JButtons com troca de imagens.

  • imagem quando o botão não sofre ação do mouse.
  • imagem quando o mouse entra no JButton.
  • imagem quando o mouse é pressionado no JButton.
  • imagem quando o mouse é solto sobre o JButton.
    Estava tratando em uma classe interna, mas havia muitas linhas de códigos e resolvi criar uma classe para cada evento e todas elas chamam o método trocarImagemBotao() numa classe específica.
    Inicialmente criei essas 2 variáveis dentro do método, mas como você mesmo me respondeu, toda vez que o evento é observado, a classe do evento chama o método e as variáveis são iniciadas como “FALSE”.
    Analisando: se cada vez que há um evento o método é executado novamente, então mesmo que as declare como “private” na classe, também não manterá o valor inicial, correto?
    Por outro lado, embora vou tentar isso agora, creio que devo criar um método “SET” e “GET” que devolva essas variáveis a classe de evento e permita que eu consiga observar seu valor e de acordo, trocar pela respectiva imagem.
    Estou certo?
    Grato!
    Abraço!

Se a instancia da classe é a mesma, vão guardar o valor setado a cada invocação…

Vou estudar o meu código e ver onde está deixando escapar/substituir o valor da variável e assim que achar o problema e retorno para postar a solução.
Muitíssimo obrigado e um grande abraço!