Ae pessoal, estou com um probleminha bizarro aqui, e ainda nao consegui achar a solução… se alguem já passou por isso e sabe como resolver, da uma ajudinha ae, obrigado…
tenho o codigo abaixo
public class SButton extends JButton {
Image img = null;
public SButton(String text, String imgName) {
super(text);
this.setBackground(new Color(0,0,0,0));
img = Sys.getResourceImage(imgName);
}
@Override
protected void paintComponent(Graphics g) {
myPaint(g); super.paintComponent(g);
}
private void myPaint(Graphics g) {
g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), null);
}
}
o intuito desta classe é desenhar uma imagem atras do texto do JButton, pois a cor de fundo foi setada para transparente (0,0,0,0).
até que funciona, só que algumas vezes exporádicas ele nao desenha o fundo, ou desenha outra parte do formulario no fundo do JButton, coisa estranha…
eu analisei o código e vi que o gui chama o paintImmediately e as x chama o update…
nao entendi mto bem o porque nas subclasses da arquitetura java parece não chamar sempre o paintComponent. Eu sei que ele usa o paintImmediately para pintar regiões rapidamente do componente, mas se isso acontece, como eu faria para usar então corretamente o paintComponent… ???
