Existe como desabilitar eventos temporariamente?

Tenho um programa de votação que quando sai um voto ele para por dez segundos… uso o Thread.sleep(10000); para não fazer nada… mas nesse tempo se eu clicar em algum objeto que tenha evento de mouse, ele espera os 10 segundos e ai gera o evento, existiria um outro comando para prender mesmo, ou um comando para desabilitar o evento??

Oie!

Tenta usar o método wait(10000) da classe Object:

synchronized (this) { try { wait(10000); } catch (InterruptedException ex) { ex.printStackTrace(); } }

E no evento do clique vc coloca:

synchronized (this) { notify(); }

P.S.: Tenta colocar esses dois trechos na mesma classe… eu ainda não consegui colocar em classes diferentes.

coloquei, mas não funcionou!! tipo eu clico em uma foto e ele gera o evento do mouse, ai entra nessa espera de 10 segundos, se nesse tempo eu clicar na foto de novo, ele não faz nada, mas quando acaba o tempo ele gera o evento novamente, é como se ele estivesse esperando o tempo acabar para gerar o evento… eu queria que nesse tempo em nada que eu clicasse gerasse o evento depois! ele tá guardando o evento para gerar depois que acabar o tempo de espera!

vc colocou no evento?
Posta o código aí.

 public void mouseClicked(MouseEvent evt)
    {
     
  
          new TocaSom("SomInicioUrna");
           Object[] options = { "Sim", "Não" };
       		 	int resp =  JOptionPane.showOptionDialog(null, " Confirma voto em " +
                                                               candEscolhido + "?", "Confirmação de Voto",
       		             JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE,
       		             null, options, options[0]);

        if(resp == 0)
        {
            CandidatoDAO candidatoDAO = new CandidatoDAO();
            new TocaSom("SomFinalUrnaEletronica");
            
            try
            {
                 candidatoDAO.gerarVotoCandidato(candEscolhido);

               JOptionPane.showMessageDialog(null, "Voto confirmado com sucesso!", "Confirmado", 1);

               synchronized (this) 
              {  
 
                 wait(10000);  
                  notify(); 

              } 
                 
                 
                 
            }
            catch (InterruptedException ex)
            {
                 ex.printStackTrace();
            }
            catch (FileNotFoundException ex)
            {
                ex.printStackTrace();
            }

        }
     
     
      
    }

Cara já coloquei o notify(); antes e depois do wait(10000); e nada, já coloquei o notify(); no inicio do evento, também nada… o wait(10000) tem que ficar naquele lugar ali memo!

seguinte, o método wait(10000) serve para sua Thread parar durante um tempo de 10 segundos, OU até vc usar o método notify(), que notifica o método wait() que ele pode continuar.
Vc não pode colocar o notify() logo abaixo do wait().

O que vc pode fazer é colocar o código com o wait(10000) na sua votação:

synchronized (this) { try { wait(10000); } catch (InterruptedException ex) { ex.printStackTrace(); } }
e adicionar um evento para o clique do mouse no seu formulário principal e adicionar esse código:

synchronized (this) { notify(); }