Seja bem vindo ao Fórum do JavaFree.org
Aqui você irá encontrar respostas para TUDO o que você precisa sobre java.
Deseja participar? Crie sua conta ou efetue seu login
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:
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?
- 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
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?
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á.
DixavadoPosts:42
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!
AtaxexePosts:401
Porque você não cria um listener separado para cada checkbox?
Fazendo assim, seu if some
_________________Marcelo Varella
DixavadoPosts:42
listener separado? Como assim? Poderia dar um exemplo?
vlw!
AtaxexePosts:401
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
DixavadoPosts:42
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!!
AtaxexePosts:401
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
DixavadoPosts:42
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?
discorpioPosts:13
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
Relacionados
JFrame não obedece setSize();
http://javafree.uol.com.br/topic-890733-JFrame-nao-obedece-setSize.html
AbstractTableModel
http://javafree.uol.com.br/topic-890710-AbstractTableModel.html
Action
http://javafree.uol.com.br/topic-890674-Action.html
Existe algum metodo que compile um programa
http://javafree.uol.com.br/topic-890634-Existe-algum-metodo-que-compile-um-programa.html
Fazer graficos com o JFreeChart
http://javafree.uol.com.br/topic-890693-Fazer-graficos-com-o-JFreeChart.html