Maison > Java > javaDidacticiel > le corps du texte

Comment redimensionner automatiquement un canevas pour remplir son étape parent dans JavaFX ?

Linda Hamilton
Libérer: 2024-10-26 12:54:03
original
813 Les gens l'ont consulté

How to Automatically Resize a Canvas to Fill Its Parent Stage in JavaFX?

Redimensionnement du canevas pour remplir le parent englobant dans JavaFX

La requête consiste à redimensionner automatiquement un élément Canvas pour l'adapter à sa scène parent englobante dans JavaFX. La clé pour y parvenir est de lier et de créer un volet personnalisé qui enveloppe le canevas.

Création d'un canevas

Pour créer un canevas redimensionnable, nous définissons un imbriqué statique classe, CanvasPane, qui étend Pane et remplace la méthode layoutChildren(). En remplaçant cette méthode, nous pouvons forcer les dimensions du canevas à correspondre à son volet englobant. Notez que Canvas ne peut pas être redimensionné par lui-même et que le parent ne peut pas le redimensionner automatiquement.

Voici la méthode layoutChildren() pour CanvasPane :

<code class="java">@Override
protected void layoutChildren() {
    super.layoutChildren();
    final double x = snappedLeftInset();
    final double y = snappedTopInset();
    final double w = snapSize(getWidth()) - x - snappedRightInset();
    final double h = snapSize(getHeight()) - y - snappedBottomInset();
    canvas.setLayoutX(x);
    canvas.setLayoutY(y);
    canvas.setWidth(w);
    canvas.setHeight(h);
}</code>
Copier après la connexion

Utilisation de CanvasPane

Dans notre classe Application principale, nous enveloppons notre Canvas dans un CanvasPane :

<code class="java">CanvasPane canvasPane = new CanvasPane(WIDTH, HEIGHT);
canvas = canvasPane.getCanvas();</code>
Copier après la connexion

Avec CanvasPane, le Canvas se redimensionnera automatiquement pour remplir la scène englobante.

Considérations supplémentaires

La réponse acceptée dans la question référencée Stack Overflow n'a pas la liaison illustrée ici. Cette approche offre une intégration plus transparente entre le Canvas et sa mise en page parent.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!