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
Seguinte, o programa desenha na tela uma matriz 20x20 de cubos.Conforme configurado para quando eu apertar o ENTER, ele coloca um circulo em uma posição determinada da matriz, e logo apos ele da um repaint na tela. Só que quando eu aperto o ENTER, a tela começa a enbaralhar toda até sumir tudo. HELLLPPP
Seguinte, o programa desenha na tela uma matriz 20x20 de cubos.Conforme configurado para quando eu apertar o ENTER, ele coloca um circulo em uma posição determinada da matriz, e logo apos ele da um repaint na tela. Só que quando eu aperto o ENTER, a tela começa a enbaralhar toda até sumir tudo. HELLLPPP
penso que o problema é adicionar os componentes no paintComponents - o sistema resolveu que tem que redesenhar o componente então, durante esse processo, você adiciona subcomponentes, portanto alterando o componente que então vai ter que ser redesenhado (depois de recalcular o layout)...
Além disso o GridBagLayout não é o mais indicado para esse caso.
Usa um GridLayout com 20x20 JPanel's em cada posição. E esses JPanel's iriam receber os subcomponentes. Assim fica fácil alterar um subcomponente específico.
Se assim for muito pesado, faz sem usar os JPanel's, adicionando os subcomponentes diretamente usando o GridLayout - fica um pouco mais complicado para alterar um componente: tem que calcular o índice dele, removê-lo e adicionar o novo na posição correta.
_________________ Nome real: Carlos F. Heuberger
Removeram os meus direitos de administrador e moderador - sem aviso, pela segunda vez - contate o ombudsman (?), a equipejavafree ou a "alta gerência" se necessário - Que pena... que terminou dessa maneira!
rbinfoPosts:1
Seguinte, o programa desenha na tela uma matriz 20x20 de cubos.Conforme configurado para quando eu apertar o ENTER, ele coloca um circulo em uma posição determinada da matriz, e logo apos ele da um repaint na tela. Só que quando eu aperto o ENTER, a tela começa a enbaralhar toda até sumir tudo. HELLLPPP
simuPosts:9416