Maison > Java > javaDidacticiel > setSize() vs setPreferredSize() dans Java Swing : quand dois-je utiliser chaque méthode ?

setSize() vs setPreferredSize() dans Java Swing : quand dois-je utiliser chaque méthode ?

Mary-Kate Olsen
Libérer: 2024-11-30 13:43:12
original
731 Les gens l'ont consulté

setSize() vs. setPreferredSize() in Java Swing: When Should I Use Each Method?

Comprendre la différence entre setPreferredSize() et setSize() dans les composants Java

Dans Java Swing, setSize() et setPreferredSize() Les méthodes jouent toutes deux un rôle crucial dans le contrôle de la taille des composants. Cependant, il existe une différence subtile entre leurs fonctionnalités.

setSize() vs setPreferredSize()

  • setSize() : ensembles la taille exacte du composant, que son parent ait ou non une mise en page manager.
  • setPreferredSize() : définit la taille préférée du composant, que le gestionnaire de mise en page utilise pour déterminer sa taille.

Quand Utiliser chaque méthode

Le choix entre l'utilisation de setSize() ou setPreferredSize() dépend de la disposition parent du composant manager.

  • Si le parent n'a pas de gestionnaire de mise en page (par exemple, JFrames, JPanels) : Utilisez setSize().
  • Si le parent dispose d'un gestionnaire de mise en page (par exemple, BorderLayout, GridLayout) : Utilisez setPreferredSize().

Pourquoi setPreferredSize() est préféré pour les gestionnaires de mise en page

Les gestionnaires de mise en page utilisent la taille préférée pour déterminer la taille du composant. taille finale. En définissant la taille préférée, vous autorisez le gestionnaire de mise en page à positionner et à dimensionner le composant de manière appropriée dans l'espace dont il dispose.

Par exemple, supposons que vous ayez un JPanel avec un BorderLayout et deux boutons. En définissant la taille préférée des boutons, BorderLayout les organisera automatiquement avec l'espacement et l'alignement corrects.

Quand utiliser setSize()

setSize() est nécessaire uniquement lorsque le parent ne dispose pas d'un gestionnaire de mise en page. C'est généralement le cas pour les composants de niveau supérieur tels que les JFrames et les composants placés dans des volets défilants.

Exemple

Pour un JFrame avec un BorderLayout, utilisez le code suivant pour définir la taille préférée d'un bouton :

JButton button = new JButton("Button");
button.setPreferredSize(new Dimension(100, 30));
frame.getContentPane().add(button, BorderLayout.CENTER);
Copier après la connexion

Si vous souhaitez définir la taille exacte du JFrame lui-même, utilisez setSize() à la place :

frame.setSize(new Dimension(500, 300));
Copier après la connexion

Conclusion

理解 setSize() et setPreferredSize() Applications Java组件的大小,无论是使用还是不使用布局管理器。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal