Oi,
Voce deve fazer algumas modificações no seu programa:
Como voce alterou o gerenciador de layout para BorderLayout voce deve
especificar em que região vc quer adicionar seus componentes, por
exemplo: p1.add(l1, BorderLayout.SOUTH);
> l1 = new Label("Teste : ");
> p1.add(l1);
Voce cria uma instância de teste_bot (Adote o costume de nomear
classes começando com letras maiúsculas como TesteBot e Bot, e
atributos com letras minúsculas) mas não adiciona o panel criado no
construtor ao frame.
> new teste_bot();
Evite usar o reshape, tente o setSize()
> reshape(33,33,500,500);
[]'s
> -> classe componente :
>
> import java.awt.*;
> import java.lang.*;
> import java.awt.Graphics;
>
>
> public class bot extends Component
> {
> protected boolean Pressionado;
> protected boolean Habilitado;
> protected boolean Selecionado;
> protected String Nome;
> protected int Posicao;
> protected int Altura = 20;
> protected int Largura = 150;
> protected Color Cor_Rotulo = Color.black;
> protected Color Cor_Botao = Color.gray;
> protected Color Cor_Borda = Color.white;
>
> public bot(String nome, int posicao)
> {
> Pressionado = false;
> Habilitado = true;
> Selecionado = false;
> Nome = nome;
> Posicao = posicao;
>
> exibi();
> }
>
> public bot(String nome)
> {
> Pressionado = false;
> Habilitado = true;
> Selecionado = false;
> Nome = nome;
> Posicao = 12;
>
> exibi();
> }
>
> public bot()
> {
> this("");
> Pressionado = false;
> Habilitado = true;
> Selecionado = false;
> Posicao = 12;
>
> exibi();
> }
>
> public void exibi()
> {
> repaint();
> }
>
> public void setNome(String nome)
> {
> Nome = nome;
> }
>
> public String getNome()
> {
> return Nome;
> }
>
> public void setCorRotulo(Color c)
> {
> Cor_Rotulo = c;
> }
>
> public Color getCorRotulo()
> {
> return Cor_Rotulo;
> }
>
> public void setCorBotao(Color c)
> {
> Cor_Botao = c;
> }
>
> public Color getCorBotao()
> {
> return Cor_Botao;
> }
>
> public void setCorBorda(Color c)
> {
> Cor_Borda = c;
> }
>
> public Color getCorBorda()
> {
> return Cor_Borda;
> }
>
> public int getAltura()
> {
> return Altura;
> }
>
> public void setAltura(int a)
> {
> Altura = a;
> }
>
> public int getLargura()
> {
> return Largura;
> }
>
> public void setLargura(int l)
> {
> Largura = l;
> }
>
> public int getPosicao()
> {
> return Posicao;
> }
>
> public void setPosicao(int p)
> {
> Posicao = p;
> }
>
> public void setSeleciona(boolean s)
> {
> Selecionado = s;
> }
>
> public boolean getSeleciona()
> {
> return Selecionado;
> }
>
> public void setHabilitado(boolean h)
> {
> Habilitado = h;
> }
>
> public boolean getHabilitado()
> {
> return Habilitado;
> }
>
> public void paint(Graphics g)
> {
> g.setColor(Cor_Botao);
>
> g.fillRect(Posicao, Posicao, 3 ,3);
> g.setColor(Cor_Borda);
> g.drawRect(Posicao, Posicao, 3 ,3);
> g.setColor(Cor_Rotulo);
> g.drawString(Nome, Posicao+Nome.length() , 15);
> }
>
> /*public void Draw(Graphics g)
> {
> int x;
>
> if (!Habilitado)
> {
> x = 3;
> }
> else
> if(Pressionado)
> {
> x = 3;
> }
> else
> if (Selecionado)
> {
> x = 3;
> }
> else
> {
> x = 3;
> }
>
> g.copyArea (Posicao, x, 20, 20, 0, -x);
> }*/
>
>
> public boolean showPressionado (int x, int y)
> {
> if (y < 0 || y > 24)
> {
> return false;
> }
> x -= Posicao;
> if (x < 0 || x > 24)
> {
> return false;
> }
> if (Habilitado)
> {
> Pressionado = true;
> return true;
> }
> return false;
> }
> }
>
>
> -> frame para fazer o teste do componente :
>
> import bot;
> import java.awt.*;
> import java.lang.*;
>
> public class teste_bot extends Frame
> {
> Panel p1;
> Label l1;
> TextField t1;
> bot b1;
>
> public teste_bot()
> {
> setLayout(new BorderLayout());
>
> p1 = new Panel();
> add(p1, "North");
>
> l1 = new Label("Teste : ");
> p1.add(l1);
>
> t1 = new TextField(3);
>
> p1.add(t1);
>
> t1.repaint();
>
>
> b1 = new bot("JMJ");
>
> p1.add(b1);
>
>
> reshape(33,33,500,500);
>
> show();
> }
>
> public static void main(String args[])
> {
> new teste_bot();
> }
> }
>
>
> Daniel Brazil
> [EMAIL PROTECTED]
> Analista de Sistemas
> InfoPro Informática
>
>
> ----- Original Message -----
> From: "Edward Roe" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, April 26, 2001 10:47 AM
> Subject: Re: [java-list] Componente nao aparece
>
>
> >
> > Oi,
> >
> > Uma olhada no código ajudaria ja que pode ser mais de um motivo.
Manda
> > ele se puder.
> >
> > > Fiz um componente, um botao, mas quando adiciono ele em um painel
de
> > um frame, por exemplo, deveria aparecer na tela quando "dou" o show
(),
> > certo? Mas não aparece.
> > >
> > > Para "pintar" o componente testei usando método Draw() e paint
()...
> > Como devo fazer?
> >
> > []'s
> >
> > --
> > Edward Roe
> >
> > ------------------------------ 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
> > para sair da lista: envie email para java-list-
[EMAIL PROTECTED]
> > --------------------------------------------------------------------
-----
> >
> >
>
>
> ------------------------------ 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
> para sair da lista: envie email para java-list-
[EMAIL PROTECTED]
> ----------------------------------------------------------------------
---
>
>
--
Edward Roe
------------------------------ 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
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------