JFrame: obtenir la taille sans frontières?
En Java, est-il possible d'obtenir la Largeur et la Hauteur de la JFrame sans le titre et d'autres des frontières?
cadre.getWidth() et le cadre.getHeight()1 semble de retour de la largeur, y compris la frontière.
Grâce.
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne bien
Mais pas si vous n'avez pas encore ajouté de contenu. Dans mon cas, je voulais calculer les dimensions intérieures de la JFrame avant l'ajout de contenu, afin que je puisse diviser le contenu en conséquence. Voici ce que j'ai trouvé.
Voici un extrait de code qui fonctionne sur
JFrame
ainsi que l'AWT estFrame
(qui se trouve être le super-type de JFrame):Attention: Les encarts sont valable uniquement une fois que le cadre a été démontré.
Voici un autre extrait de code pour contourner ce problème:
Ce code doit être appelé qu'une seule fois avec un Cadre visible. Après cela, il peut prédire correctement les encarts de même pour invisible images (en raison de la mise en cache de la
defaultInsets
), en supposant qu'ils sont toujours les mêmes.Bien sûr, cela ne fonctionne que si toutes les fenêtres sont de la même fenêtre, les décorations. Mais je ne suis pas au courant de tous les cas où ils peuvent différer de fenêtre à fenêtre.
Cela peut être utile, aussi:
Il va appeler le
getInsetsWithDefault()
méthode une fois que la fenêtre est visible et initialiser le bondefaultInsets
.