JButtom personalizado

5 respostas
E

e ai galera…

estou tentando criar um botão personalizado. Até ai td certo. Mas quando adiciono ele no frame principal, o botão não está visível e só aparece quando clico na área onde era pra ele estar.

Já tentei, no frame principal, colocar algo como:

botao.setVisible(true);

ou

botao.updateUI();

meu código para gerar o botão éo seguinte:

import java.awt.Color;

import javax.swing.BorderFactory;
import javax.swing.JButton;

public class Botao2 extends JButton
{

	public Botao2(String nome)
	{
		setText(nome);
		
		setBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, Color.GRAY));
		
		
	}
}

no frame principal faço o seguinte:

...

Botao2 botao = new Botao2("Teste");

frame.setLayout(null);
frame.add(botao);

botao.setBounds(10, 10, 50, 20);

...

alguém tem alguma idéia do que pode estar acontecendo?

desde já agradeço a atenção de todos.

flws

5 Respostas

V

No lugar de:

frame.add(botao);

Tenta:

frame.getContentPane().add(botao);
E

amigo, mto obrigado pela dica mas infelizmente não deu certo.

Continuo com o mesmo problema.

Obrigado.

Obs.:vale ressaltar que estou adicionando em um JInternalFrame, embora acredito que não faça diferença. Me corrijam se eu estiver errado.

paulorb.pacheco

Opa colega…
Já tentou algo como

frame.repaint();
T

Não se esqueça de chamar o construtor de JButton em seu construtor. Exemplo:

public Botao2(String nome)
 	{
            super (nome); 
            ...
E

pessoal, consegui resolver o erro.

o erro era simples e totalmente tosco…falta de atenção mesmo.

tinha um JLabel sendo adicionado antes do botão.

...

frame.add(label);
frame.add(botao);

...

eu só inverti a ordem…

...

frame.add(botao);
frame.add(label);

...

agora funciona perfeitamente.

muito obrigado a todos.

flws

Criado 9 de abril de 2007
Ultima resposta 9 de abr. de 2007
Respostas 5
Participantes 4