Galera,
A minha situa��o � a seguinte:
Estou trabalhando com Sistemas de Informa��es Georeferencias na
Internet. Para isso estou construindo uma applet, com componentes Swing,
que ira acessar um servidor onde obter� os dados relativos a
coordernadas, imagens, etc....
Existe um prot�tipo, "meio capenga", constru�do em AWT. Neste prot�tipo
� utilizado elementos do tipo "Graphics" e "Image", respons�veis por
definir onde dever� ser plotada a imagem. A parte gr�fica � constru�da
diretamente sobre o panel natural da applet.
O que eu gostaria de fazer � poder encapsular todas as rotinas
relacionadas para dentro de um JPanel, de modo que, como estou
utilizando um ambiente visual de programa��o (JBuilder3), pudesse
posicionar este JPanel em qualquer lugar e que a parte gr�fica
acompanhasse.... (� l�gico..., visto que est� dentro do JPanel :).
Perguntas:
Algu�m podeira me dar alguma id�ia de como posso adicionar estas
caracter�stica ao meu JPanel? ..... quem sabe algo do tipo....
panel1.addXX..... ou
um outro m�todo que adicione este elemento.
Caso n�o d� para fazer isto diretamente, como eu poderia ser realizado
ent�o?
Abaixo vai apenas um trecho do c�digo para que vcs possam se
localizar...
private Image _buffer;
private Image _ offImage;
private Graphics _offGraphics;
.......
_buffer = createImage(_imgWidth, _imgHeight);
_offImage = createImage(_imgWidth+5, _imgHeight+5);
//Cria um contexto gr�fico pra desenhar uma imagem.
_offGraphics = _offImage.getGraphics();
......
// Fun��o Chamada
void paintMap(Image img) {
if (img != null) {
_draw = true;
_buffer = img;
repaint();
}
}
public void paint(Graphics g) {
update (g);
}
public void update(Graphics g) {
//desenha na tela
if (!_draw) return;
if (_buffer != null) {
//desenha o background escuro
_offGraphics.setColor(Color.darkGray);
_offGraphics.fillRect(5, 5, _imgWidth + 5, _imgHeight + 5);
if (_showpan) {
_offGraphics.setColor(Color.white);
_offGraphics.fillRect(0, 0, _imgWidth, _imgHeight);
_offGraphics.drawImage (_buffer, _x1 - _x0, _y1 - _y0,
this);
_offGraphics.clipRect (0, 0, _imgWidth, _imgHeight);
}
else {
_offGraphics.drawImage (_buffer, 0, 0, this);
}
//desenha um retangulo vermelho que delimita a �rea de zoom
if (_showzoom) {
_offGraphics.setColor(Color.red);
int x = Math.min(_x0,_x1);
int y = Math.min(_y0,_y1);
_offGraphics.drawRect(x, y,
Math.abs(_x1-_x0),Math.abs(_y1-_y0));
}
// desenha um box em torno da imagem
_offGraphics.setColor(Color.black);
_offGraphics.drawRect (0, 0, _imgWidth, _imgHeight);
g.drawImage(_offImage, _imgStartX, _imgStartY,this);
_offImage.flush();
}
}
Agrade�o a todos por qualquer ajuda.
Vinicius Rosalen
[EMAIL PROTECTED]
UFES
--------------------------- LISTA SOUJAVA ---------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
[d�vidas mais comuns: http://www.soujava.org.br/faq.htm]
[para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
---------------------------------------------------------------------