JPanel setBackground (Color.BLACK) ne fait rien
J'ai l'suivantes personnalisé Composite et j'ai aded à mon image à l'aide de Netbeans GUI builder, mais le fond ne change pas! Je peux voir le cercle, le dessin avec le g.fillOval(). Quel est le problème?
public class Board extends JPanel{
private Player player;
public Board(){
setOpaque(false);
setBackground(Color.BLACK);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(Color.red);
g.fillOval(player.getxCenter(), player.getyCenter(), player.getRadius(), player.getRadius());
}
public void updatePlayer(Player player){
this.player=player;
}
}
source d'informationauteur Primož Kralj
Vous devez vous connecter pour publier un commentaire.
Si votre panneau est 'opaque' (transparent) vous ne verrez pas votre couleur d'arrière-plan.
Vous devez appeler le
super.paintComponent();
ainsi, pour permettre à l'API Java de dessiner l'arrière-plan d'origine. Le super fait référence à l'origine Composite code.J'ai juste essayé un bare-bones mise en œuvre et il fonctionne, tout simplement:
CHANGÉ à
Vous avez besoin pour créer un nouveau Composite de l'objet dans le Conseil d'administration du constructeur.
par exemple
Afin de régler entièrement le fond d'une couleur donnée :
1) définir d'abord la couleur d'arrière-plan
2) appel de la méthode "Clear(0,0,cette.getWidth(),this.getHeight())" (largeur et la hauteur de la composante de la zone de dessin)
Je pense que c'est la procédure de base pour définir l'arrière-plan...
J'ai eu le même problème.
Une autre astuce utile : si vous voulez dessiner, MAIS PAS dans une zone spécifique (quelque chose comme un masque ou un "trou"), appelez le setClip() la méthode des graphiques avec le "trou" de la forme (la forme), puis d'appeler la méthode Clear () (arrière-plan doit d'abord être réglé sur le "trou" de la couleur).
Vous pouvez faire plus compliqué clip zones en appelant la méthode clip() (une fois que vous voulez) APRÈS l'appel de la méthode setClip() pour avoir des intersections de découper des formes.
Je n'ai pas trouvé de méthode pour les syndicats ou les inversions de clip zones, intersections, dommage...
Espère que cela aide