FAQ JavaFXConsultez toutes les FAQ

Nombre d'auteurs : 4, nombre de questions : 507, dernière mise à jour : 2 novembre 2016  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions fréquemment posées sur le forum JavaFX de http://java.developpez.com ainsi que l'expérience personnelle des auteurs.

Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.

Sur ce, nous vous souhaitons une bonne lecture.


SommaireSceneGraphInterface utilisateur (170)
précédent sommaire suivant
 

Une région est un nœud graphique de type javafx.scene.layout.Region. Il s'agit là de la classe de base servant à définir les contrôles, les gestionnaires de mise en page ou même les graphiques de données statistiques. Une région peut être vue comme l’équivalent d'un <DIV> en HTML : une région rectangulaire qui contient d'autres régions ou entités.

Par défaut, une région définit une zone rectangulaire (layoutBounds) aux coordonnées (0, 0, width, height). Cependant il est possible que le contenu de la région soit positionné en dehors de ces bornes.

Une région dispose d'un fond (background) et d'une bordure (border) qui peuvent eux aussi être positionnés sur les bornes de la zone rectangulaire ou en dehors. Le background est constitué d'un empilement de remplissages de couleur et/ou d'images superposés les uns les autres. Il en est de même pour le border. Lors de l'affichage, le background est dessiné (rendu) en premier, puis les images de fond, puis le border, puis les images de bordure, puis le contenu de la région.

Region hérite de la classe javafx.scene.Parent et dispose donc d'une liste observable nommée children qui permet de modifier son contenu. Cette liste est en accès protected dans Region mais est souvent exposée en accès public dans ses classes filles, principalement dans les gestionnaires de mise en page. La classe Region dispose de la méthode protégée layoutChildren() qui permet d'effectuer la mise en page des nœuds qu'elle contient. La zone de mise en page du contenu (contentArea) est équivalente aux layoutBounds de la région auxquels on a retiré des marges définies dans la propriété insets.

Code Java : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
@Override  
protected void layoutChildre() { 
  final double width = getWidth(); 
  final double height = getHeight(); 
  final Insets insets = getInsets(); 
  // Calcul de la zone dans laquelle peuvent être positionnés les composants enfants de la région. 
  final double contentAreaX = insets.getLeft(); 
  final double contentAreaY = insets.getTop(); 
  final double contentAreaWidth = width - (insets.getLeft() + insets.getRight()); 
  final double contentAreaHeight = height- (insets.getTop() + insets.getBottom()); 
  // Mise en page des composants enfants de la région. 
  [...] 
}

Les nœuds inclus dans une région doivent être positionnés via les propriétés layoutX et layoutY ; les propriétés translateX et translateY étant réservées aux animations et transformations. La classe Region dispose de plusieurs variantes de la méthode layoutInArea() destinées à faciliter la mise en page de son contenu.

Bien que la forme par défaut d'une région soit rectangulaire, il est possible d'en modifier la silhouette en définissant des bords arrondis pour son background. Ce faisant, les zones hors des coins seront considérées comme hors de la région. Il est également possible de spécifier une forme customisée via la propriété shape ou via les CSS accompagnées de la syntaxe SVG.

Mis à jour le 11 septembre 2014 bouye

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Responsables bénévoles de la rubrique Java : Mickael Baron - Robin56 -