J'ai sous-classé java.awt.Frame et j'ai surchargé la méthode paint() car je souhaite dessiner tout le contenu de la fenêtre manuellement.Récupération de la zone d'un cadre AWT dans Mac OS X?
Cependant, sur l'objet graphique, (0,0) correspond au coin supérieur gauche de la fenêtre à l'intérieur de la décoration de la barre de titre, pas le premier pixel pouvant être tracé. Puis-je déterminer la coordonnée du premier pixel étirable (c'est-à-dire la hauteur de la décoration) de manière multiplateforme, en évitant d'utiliser un facteur de fudge spécifique à Mac OS X? Est-ce que je serai forcé d'imbriquer un composant Panel afin de trouver la zone réellement dessinable de la fenêtre?
Voici mon code ne centre du carré bleu dans la zone paintable de la fenêtre:
@Override
public void paint (Graphics g) {
g.setColor(Color.BLUE);
g.setPaintMode();
g.fillRect(30, 30, getWidth()-60, getHeight()-60);
}
alt text http://x13n.com/paintable-area.png