Java AWT

8 respostas
W

Pessoal,

Só uma ajuda, tenho um formulario JFrame principal, nele estou colocando algumas imagens vi “Graphics.drawImage”, porém, quando executo e as imagens aparecem, se eu coloco outra tela por cima ou redimensiono o formulário, as imagens somem.

O que tenho que fazer para mantê-las sempre visiveis? mesmo quando o formulario for redimensionado, minimizado ou ser sobposto.?

Obrigado

8 Respostas

ViniGodoy

Use um JLabel. E o método setIcon para definir imagens sobre o label.

O drawImage deve ser usado no Java 2D, para desenhar dentro do método paint do JFrame (ou paintComponent, de um JComponent). Esses métodos são chamados sempre que uma repintura é necessária.
O JLabel já trata isso automaticamente.

W

Vini,

Pensei em fazer por um JLabel, porém, não sabia o quanto era seguro usar um ou outro, optei pelo Java2D acreditando ser mais interessante para um jogo de cartas em rede. (evitar algumas possibilidades de cheats).

Usando o JLabel consigo evitar algum desses riscos, também é seguro?

Obrigado

ViniGodoy

Seguro em que sentido?

Se você está fazendo um jogo, é melhor ler os tutoriais de Java2D do Ponto V:
http://pontov.com.br/site/java/47-javageral
http://pontov.com.br/site/java/48-java2d

Ou, ainda melhor, é não usar Java, e sim o Flash.

Se o jogo é em rede, o protocolo do servidor jamais deverá enviar a informação da carta dos adversários ao jogador.
Isso elimina totalmente a possibilidade de cheats.

W

Seguro no sentido de evitar que algum usuário tente usar um programa de cheat, esse tipo de coisa.

Eu tenho que desenvolver em Java, por 2 motivos, 1 para aprender Java desktop, 2 exigências do cliente.

ViniGodoy

Beleza. Nesse caso, dê uma lida nos tutorias de Java2D do Ponto V, vai te esclarecer muita coisa sobre o funcionamento da plataforma.
É melhor usar Java2D no lugar de labels para jogos pois dá mais possibilidade de animações.

Como é um programa em rede, você deve fornecer ao cliente somente as informações que ele necessita saber. Você também terá que validar cada um dos parâmetros enviados para o cliente. Assim, mesmo que ele descompile seu protocolo de rede, ele só constatará que, sem adulterar o servidor, ele não pode fazer nada.

Seu servidor ainda pode cortar imediatamente a conexão caso detecte uma tentativa de cheat. Por exemplo, se o cliente tentar trocar mais cartas que o permitido, ou tentar apostar com mais grana do que é possível.

W

Obrigado pelas dicas Vini,

Eu ja andei lendo desde a semana passada suas publicações no PontoV.
Inclusive alguns jogos que você fez.

Vou ler mais sob Java2D.

Vlw

fernandopaiva

Eu tenho um E-Book do Livro “Java 2D Graphics”, esse livro aborda praticamente(se não tudo) sobre Java 2D. Estava usando para estudar Java 2D para um projeto de Faculdade tbm, mas como to na correria abandonei o projeto, mas o livro é muito bom.

t+ e boa sorte.

W

Obrigado pelo help pessoal!

Já estou estudando Java2d a fundo.

Sds.

Criado 15 de janeiro de 2012
Ultima resposta 16 de jan. de 2012
Respostas 8
Participantes 3