Au lieu d'utiliser un gestionnaire de présentation qui contrôle la taille et la position de tous les composants dans un conteneur, vous pouvez associer le gestionnaire de présentation à la valeur null. Dans ce cas, chaque composant contrôle sa position et sa taille en utilisant ses limites.
Si vous cliquez sur un conteneur à l'aide du bouton droit de la souris et que vous sélectionnez l'option Afficher la grille, vous pouvez faire glisser et déplacer des composants vers un point de la grille pour les aligner sans utiliser des actions d'alignement :
Vous pouvez commencer par utiliser le gestionnaire de présentation associé à la valeur null, puis passer à une présentation spécifique (telle que GridBagLayout) afin que le paramètre de contrainte soit calculé par l'éditeur visuel. L'avantage d'un mécanisme où chaque composant contrôle sa taille et sa position est qu'il vous permet de définir les paramètres x, y, la largeur et la hauteur et que vous êtes sûr qu'ils sont utilisés lors de l'exécution. L'inconvénient d'une taille et d'une hauteur fixes est que les composants ne sont pas redimensionnés si l'application est redimensionnée par l'utilisateur ou si les libellés des composants (boutons ou cases à cocher, par exemple) sont modifiés pour prendre en compte la police de l'utilisateur ou des paramètres nationaux.
Pour visualiser ce comportement dans Visual Editor for Java, vous pouvez utiliser la liste de valeurs de la vue Propriétés pour la propriété layout et sélectionner null.
Lorsque vous associez le gestionnaire de présentation à la valeur null pour un conteneur, l'apparence de la vue Conception reste inchangée. L'éditeur visuel calcule les limites en cours de chaque composant et les définit explicitement pour vous. Par exemple, supposons que vous disposiez d'un conteneur utilisant le gestionnaire de présentation FlowLayout et contenant un bean JLabel. Avant d'associer la présentation à la valeur null, la propriété du code permettant d'initialiser l'élément JLabel est définie, comme indiqué ci-après :
private javax.swing.JLabel getIvjJLabel(){ if(ivjJLabel == null) { ivjJLabel = new javax.swing.JLabel(); ivjJLabel.setText("JLabel"); } return ivjJLabel; }
Si vous utilisez ensuite la vue Propriétés pour associer le gestionnaire de présentation à la valeur null, le code s'apparente aux instructions suivantes :
private javax.swing.JLabel getIvjJLabel(){ if(ivjJLabel == null) { ivjJLabel = new javax.swing.JLabel(); ivjJLabel.setBounds(59, 10, 38, 15); ivjJLabel.setText("JLabel"); } return ivjJLabel; }
Dans le même exemple, dès que vous associez le gestionnaire de présentation à la valeur null, la vue Propriétés de chaque composant affiche les valeurs appliquées pour les limites, la taille et l'emplacement. Ces valeurs ne s'affichent pas lorsque le conteneur parent utilise un autre gestionnaire de présentation car les propriétés du composant ne sont pas modifiées lorsque le gestionnaire de présentation contrôle le positionnement et la taille.
Lorsque vous associez le gestionnaire de présentation à la valeur null pour un conteneur, vous pouvez utiliser les poignées de chaque composant de la vue Conception pour effectuer un redimensionnement. Vous pouvez également définir la taille d'un bean lorsque vous l'ajoutez à partir de la palette. Il vous suffit de maintenir le bouton gauche de la souris enfoncé lorsque vous déposez le bean dans la vue Conception, puis de faire glisser le pointeur de la souris jusqu'à ce que le bean ait atteint la taille appropriée. Un rectangle cible vous indique la taille initiale. Les autres gestionnaires de présentation vous autorisent uniquement à déplacer ou à ajouter des composants.
Rubrique parent : Disposition des composants à l'aide de l'éditeur visuel
Concepts connexes
Gestionnaires de présentation et conteneurs