Borda apenas em uma posição. (usando Etched Border)

5 respostas
C

Olá pessoal, mais uma duvida com relação a bordas/…

Estou precisando usar uma Etched Border em um JPanel e essa borda deve aparecer apenas no top do painel.

Eu tentei usar um Matte Border só que ele pinta apenas icones e cores sólidas!!!

Alguém tem uma dica ae!!!

Obrigado pela atenção

5 Respostas

Ironlynx

Vc quer algo do tipo uma EtchedBorder,funcionando como uma TitleBorder?É isso?
Bom, de qualquer forma,aqui tem tudo sobre bordas:
http://java.sun.com/docs/books/tutorial/uiswing/misc/border.html :wink:

C

Não é isso!!!

se eu setar uma EtchedBorder tipo new EtchedBorder(), ele vai criar as bordas nas 4 extremidades do componente.

Eu estou precisando fazer com que apenas parte superior do componente apareça uma EtchedBorder.

MatteBorder faz isso, mas com tipo Etched e sim com icones e cores sólidas, o que nao é interessante para mim!!! entendeu???

Obrigado!!

C

Não é isso!!!

se eu setar uma EtchedBorder tipo new EtchedBorder(), ele vai criar as bordas nas 4 extremidades do componente.

Eu estou precisando fazer com que apenas parte superior do componente apareça uma EtchedBorder.

MatteBorder faz isso,(pintar apenas uma das extremidades), mas não com tipo Etched e sim com icones e cores sólidas, o que nao é interessante para mim!!! entendeu???

Obrigado!!

TedLoprao

Vc pode implementar uma borda, é bastante simples e resolverá seu problema…

Uma dica: de uma olhada na implementação do paint do EtchedBorder!!

Fallow

C

Obrigado pela dica!

Resolveu meu problema!!!

segue o codigo com a resolução do problema!

public class BordaSuperior extends EtchedBorder
{

  public BordaSuperior()
  {
      super();
  }

  public void paintBorder(Component c , Graphics g , int x , int y , int width , int height)
  {
        int w = width;
        int h = height;


     g.translate(x, y);
     g.setColor(etchType == LOWERED? getShadowColor(c) : getHighlightColor(c));
     g.drawRect(0, 0, w-3, 0);
     g.setColor(etchType == LOWERED? getHighlightColor(c) : getShadowColor(c));
     g.drawLine(1, 1, w-3, 1);
     g.translate(-x, -y);


  }
}

Obrigado pela atenção!!!

Criado 18 de novembro de 2004
Ultima resposta 19 de nov. de 2004
Respostas 5
Participantes 3