Página Inicial do Fórum > GUI - (Applets, Swing, SWT, etc)

Eventos de objetos (jbutton, jcheckbox, etc)



Criar novo tópico   Responder tópico


  1. Dixavado
    Posts:42


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    E ai galera blz??

    Estou quebrando a cabeça e não consigo chegar a uma solução. Vamos supor que criei um vetor de objetos com 50 objetos e adiciono na tela (JCheckbox). Há alguma maneira "genérica" de capturar os eventos dessas checkbox? Estou procurando uma maneira alternativa ao invés de fazer da seguinte maneira:


    valew!




  1. Ataxexe
    Posts:401


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Porque você não cria um listener separado para cada checkbox?

    Fazendo assim, seu if some
    _________________
    Marcelo Varella




  1. Dixavado
    Posts:42


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    listener separado? Como assim? Poderia dar um exemplo?

    vlw!




  1. Ataxexe
    Posts:401


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Bom, primeiro me diga como você está criando os checkboxes e pra que precisa do if no código que mostrou??

    Em outras palavras, coloque o código que você está usando aqui pra que eu possa ver se foi isso que eu entendi.
    _________________
    Marcelo Varella




  1. Dixavado
    Posts:42


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Eu crio um vetor de jcheckbox. Quando o usuário clica no form a checkbox aparece no local onde foi clicado, então provavelmente não usarei todas as checkbox do vetor (depende do número de cliques do usuário). Eu faço o seguite:



    Este código gera checkbox quando o usuário clica em alguma região do form. Vamos supor que o usuário criou 10 checkbox. Eu queria criar um evento que tratasse os eventos de cada checkbox criada, ou seja, quero criar eventos para o determinado número de checkbox adicionado ao form. Deu para entender?

    vlw!!




  1. Ataxexe
    Posts:401


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Entendi, continuo com minha opinião sobre isso.

    Tenho algumas sugestões pra você:

    - Crie os checkboxes somente quando o usuário clicar no botão, o swing requer muitos objetos e você perde muito em velocidade usando o array pra criar 100 checkboxes. No seu caso você criaria eles no método mousePressed da sua classe.

    - Use uma lista (java.util.ArrayList por exemplo) em vez do array.

    - Adicione um action listener para cada checkbox criado. Eu aconselho você a criar uma classe interna (innerclass) que implemente a interface actionlistener.
    _________________
    Marcelo Varella




  1. Dixavado
    Posts:42


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Saquei!!
    Eu estou criando os checkbox na inicialização do programa devido a ordem dos objetos. O usuário clica em cima de uma imagem (que esta dentro de uma label) para marcar pontos nelas. Como a imagem é adicionada primeiro na tela eu crio os objetos antes da imagem, mas sei que tenho que mudar pq o array de objetos deixa o programa lento mesmo. A lista é uma boa sair mesmo. Só não tinha pensado em criar o evento assim que o objeto fosse criado!! Vou fazer isso! Vlw pela ajuda!

    Vc poderia me dar um exemplo sobre como utilizar uma innerclass como listener / tratadores de eventos?




  1. discorpio
    Posts:13


    Comment Arrow

    Publicado em: 14/08/2009 12:52:59

    Boa tarde a todos.

    Acho que o código certo e esse abaixo:



    O checkbox ponto não estava fazendo referencia a checkbox clicado e sim tao somente ao possível checkbox que fora instanciado.
    _________________
    O Senhor é meu Pastor e nada me faltará.

    Salmos 23:01




  1. Relacionados





Novo tópico   Responder tópico     Índice do forum -> GUI - (Applets, Swing, SWT, etc)