Ir para conteúdo
Fórum CódigoFonte.net

joaoalves89

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

  1. Boa tarde Pessoal! Eu tenho 1 trabalho para a faculdade na qual tou a ter alguns problemas no tratamento de eventos. Eu inicialmente tenho uma pilha de cartoes da qual tira um cartao e coloco a imagem desse cartao num label com o nome "labelCartaoVirado". Depois tenho mais 3 Labels, em que cada um faz de Pilha para possiveis sequencias de cartoes. E tenho mais 3 labels que vao ser para as chamadas pilhas auxiliares. Ao utilizador é possivel pegar no cartao que esta na labelCartao virado e adicionar a qualquer uma das labels, ou das sequencias, ou das pilhas auxiliares. Ao utilizador é possivel tambem pegar num cartao duma das labels das pilhas auxiliares e adicionar a uma das labels das pilhas das sequencias. Eu tenho uma class: private class TrataEventoRato extends MouseAdapter{ O codigo vai em baixo, mas nao ser muito vou colocar so o mousePressed da labelVirarCartao e o mouseReleased duma das sequencias: public void mousePressed(MouseEvent e){ if(e.getSource()==labelCartaoVirado){ carregouNoCartao = true; cartao = pilhaCartoes.virarCartaoMontePrincipal(); labelSequencia1.addMouseListener(ratoHanderEvent); labelSequencia2.addMouseListener(ratoHanderEvent); labelSequencia3.addMouseListener(ratoHanderEvent); labelSequenciaAuxiliar1.addMouseListener(ratoHanderEvent); labelSequenciaAuxiliar2.addMouseListener(ratoHanderEvent); labelSequenciaAuxiliar3.addMouseListener(ratoHanderEvent); // labelCartaoVirado.removeMouseListener(ratoHanderEvent); } } public void mouseReleased(MouseEvent e){ if(e.getSource()==labelSequencia1){ if(carregouNoCartao==true){ boolean result = sequencia1.adicionarCartao(cartao); if(result==true){ labelSequencia1.setIcon(retornaImageIcon(retornaImformaçaoCartao(sequencia1.retornarCartaoTopo()))); pilhaCartoes.removerCartaoPilhaPrincipal(); limparLabelCartaoVirado(); alterarNumeroJogadas(); } // labelCartaoVirado.addMouseListener(ratoHanderEvent); labelSequencia1.removeMouseListener(ratoHanderEvent); labelSequencia2.removeMouseListener(ratoHanderEvent); labelSequencia3.removeMouseListener(ratoHanderEvent); labelSequenciaAuxiliar1.removeMouseListener(ratoHanderEvent); labelSequenciaAuxiliar2.removeMouseListener(ratoHanderEvent); labelSequenciaAuxiliar3.removeMouseListener(ratoHanderEvent); carregouNoCartao=false; } } Ate aqui tudo bem, ele faz as coisas direitas e adiciona tudo direito. No entanto quando tentei adicionar mousePressed ás labels das pilhas auxiliares e adicionei mouseReleased as pilhas das sequencias, ele simplesmente nao faz as coisas direitas. Não sei se é algum conflito entre eventos, por isso precisava da vossa ajuda. Por exemplo se existe alguma maneira de eu saber qual foi o tipo de evento que aconteceu em determinada label(se mousePressed ou mouseReleased). Outra coisa que tambem achei estranha, foi que, supostamente o mousePressed é quando pressiono o botao do rato num componente e o mouseReleased quando o liberto sobre outro componente. No entanto, eu faço mouseDown na labelvirarCartao e arrasto o rato para cima de uma das labels das sequencias e nada acontece. Mas quando clico na labelVirarCartao uma vez e depois clico numa das labels, ele ja faz as coisas direito. Estranho. Desculpem esta duvida tao grande, mas ja ando a mais de um dia a tentar colocar isto a funcionar e ou funciona uma parte ou funciona a outra
×
×
  • Criar Novo...