simples: para definir o tamanho do Panel (ali�s, se tu vai sobrecarregar o
paint e tamb�m o m�todo que retorna as dimens�es, usa um componente ao inv�s
de um panel...):

/**
* Componente com tamanho conhecido. Usa estendido a componente por ser
* mais leve. N�o faz sentido usar Panel, que � um container, para definir
* um componente que nunca ter� fun��o de container.. (lembra do KISS?)
* @author Felipe Ga�cho
* @version cortesia.soujava
*/
public class TeuComponente extends Component
{
        private Image imagem = null;
        private Dimension dimensoes = null;

        TeuComponente(Imagem imagem)
        {
                this.imagem = imagem;
                dimensoes = new Dimension(imagem.getWidth(this), 
imagem.getHeight(this));
        }

        /** Aqui � contigo.. */
        public void paint(Graphics g)
        {
                g.drawImage(imagem, 0, 0, getWidth(), getHeight(), this);
        }

        /**
        * M�todo que retorna a dimens�o do componente
        * sobrecarga do m�todo hom�nimo da classe Component
        */
        public Dimension getPreferredSize()
        {
                // Pode usar esse m�todo para criar outras gambiarras,
                // tipo, ajustar na m�o as dimens�es do teu componente...
                // usando, por exemplo, o setSize(w, h)...
                return dimensoes;
        }
}

No teu caso, talves o ideal fosse at� extender logo a ScrollPane e tar o
componente de desenho encapsulado dentro desse componente... mas a� tem que
conhecer o projeto pra decidir..

Boa sorte,

        Felipe Ga�cho

-----Mensagem original-----
De: Antonio Techio [mailto:[EMAIL PROTECTED]]
Enviada em: quarta-feira, 8 de maio de 2002 14:24
Para: [EMAIL PROTECTED]
Assunto: [java-list] Problema p/ experiente...


Lista � o seguinte:

N�s j� sabemos que � barbada colocar um ScrollPane num componente qualquer
de uma janela.
Exemplo:

*****************************************
JTextArea jta = new JTextArea(10);
JScrollPane jcp = new JScrollPane(jta);
*****************************************

O C�digo acima adiciona um ScrollPane no TextArea.

O meu problema � o seguinte:
Eu tenho a seguinte hieraquia:

Desenho ----> Panel ---> ScrollPane ---->Applet.

Ou seja, eu tenho um desenho dentro de um Panel, o Panel est� dentro de
um ScrollPane e este �ltimo est� dentro do Container da
Applet. O desenho � feito pelo m�todo

public void paint(Graphics g){
   g.setColor(Color.red);
   g.fillRect(25,25,500,200);
}

Problema: (Estou mandando o c�digo fonte zipado.)

Se o desenho for maior que ar�a de visualiza��o que eu defini para Applet
(width, heidth) ele deveria criar um ScrollPane para
poder visualizar toda a imagem que foi desenha nesse Panel. (Se
redimensionarmos
a janela, veremos toda a imagem);
Mas isso n�o ocorre, porque o n�o temos como definir o tamanho de um Panel,
como definimos o tamanho de um TextArea, por
exemplo. O ScrollPane n�o consegue identificar o tamanho que a imagem ocupa
no Panel.

Algu�m saberia como resolver esse problema? Ou pelo menos dar umas dicas.

Obrigado,
Ant�nio.


Atenciosamente,                               Ant�nio Techio
                           *******************************************
Advanced DataBase - Analista de Sistemas www.advanceddb.com.br
                      Porto Alegre - RS - Brasil


________________________________________
A busca mais veloz e precisa da internet. Acesse agora:
http://www.zoom.com.br.




------------------------------ 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
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a