Dans la conception de l'interface, un conteneur doit être placé dans de nombreux composants. Java.awt définit une variété de classes de mise en page, chaque classe de mise en page correspond à une stratégie de mise en page. La catégorie de mise en page suivante:
• Flowlayout, placés composants tour à tour.
• BoderderLayout, mettez les composants sur la frontière.
• CardLayout, empiler des composants comme les cartes de poker et ne peut afficher que l'un des composants à chaque fois.
• GridLayout divise la zone d'affichage en grilles égales en fonction des lignes et des colonnes, et les composants sont placés à leur tour dans ces grilles.
• Gridbaglayout divise la zone d'affichage en de nombreuses petites unités, et chaque composant peut occuper une ou plusieurs petites unités.
Parmi eux, Gridbaglayout peut effectuer un contrôle de position finale, et le plus compliqué.
Chaque conteneur a un gestionnaire de mise en page, et il décide comment organiser des composants dans le conteneur. Le gestionnaire de mise en page est une classe qui implémente l'interface LayoutManager.
1.Flowlayout Disposition
La disposition FlowLayout est d'organiser les composants de gauche à droite en fonction de l'ordre de l'addition, puis de transférer vers la ligne pour continuer de gauche à droite après une ligne, et les composants de chaque ligne sont disposés au milieu. Il s'agit de la stratégie de mise en page la plus simple.
FlowLayout est la disposition par défaut de petites applications et panneaux.
1.Flowlayout (), générez une disposition FlowLayout par défaut. Par défaut, le composant est au milieu, avec 5 pixels.
2. FlowLayout (int aligment), définissez la méthode d'alignement de chaque composant. L'alignement peut être disponible pour FlowLayout.left, FlowLayout.Center, FlowLayout.richt.
3.Flowlayout (int aligment, int horz, int vert), définissez la méthode d'alignement et définissez l'espacement horizontal horz et vertical vertical du composant, définissez la disposition du conteneur avec la méthode du conteneur super-classe. Par exemple, le code setLayout (new FlowLayout ()) définit la disposition FlowLayout pour le conteneur. La méthode d'ajout d'un composant au conteneur est ADD (nom du composant).
2. BorderLayout Layout (Jwindow, JFrame, la disposition par défaut de Jdialog)
La stratégie de disposition de BorderLayout est de simplement diviser l'espace dans le conteneur en cinq zones d'East "East", West "West", South "South", North "North" et "Center". Lorsque vous rejoignez le composant, vous devez indiquer quelle zone placée dans laquelle le composant est placé. Mettez un composant en position. Si vous souhaitez ajouter plusieurs composants à un certain emplacement, vous devez d'abord ajouter le composant de l'emplacement pour placer un autre conteneur, puis ajouter le conteneur à cette position.
La méthode de structure de la disposition BorderLayout est:
(1) BorderLayout (), générer une mise en page BorderLayout par défaut. Par défaut, il n'y a pas d'écart.
(2) BorderLayout (int Horz, int vert), réglez l'espacement horizontal et vertical entre les composants.
La méthode de réglage de la stratégie de mise en page BorderLayout est SetLayout (new BorderLayout ()). La méthode d'ajout du composant au conteneur est ADD (nom du composant, emplacement).
La mise en page BorderLayout est la disposition par défaut de Jwindow, JFrame, JDialog.
[Exemple 11-5] L'application a cinq étiquettes, qui sont placées dans les cinq zones de l'est, de l'ouest, du sud, du nord et du milieu et du milieu, respectivement.
Import javax.swing. *; Fenêtre "); // créer un objet de conteneur de fenêtre mw.setSize (250,200); conteneur con = mw.getContentPane (); con.setLayout (new BorderLayout ()); label1 = new JLabel (" East Tag "); / / / / La valeur par défaut à Qi Qi Label2 = New JLabel ("South Tag", JLabel.Center); New Jlabel ("" Mid -Label ", Jlabel.Center); .Add (Label4, "North");
3.GridLayout Layout
La disposition de la grille consiste à diviser le récipient en forme de grille en forme de grille. Les caractéristiques de la mise en page GridLayout sont que le positionnement des composants est plus précis. Étant donné que chaque grille de la disposition de la gridlayout a la même forme et la même taille, les composants nécessaires pour mettre dans le conteneur doivent également maintenir la même taille.
La méthode constructive de mise en page GridLayout est:
(1) GridLayout (), générez une disposition de gridLayout à colonne unique. Par défaut, il n'y a pas d'écart.
(2) GridLayout (INT ROW, int Color), définissez une disposition GridLayout avec la ligne et la colonne Col.
(3) GridLayout (Int Row, int Color, int Horz, int vert), définissez le nombre de lignes et colonnes de la disposition, l'espacement horizontal et vertical du composant.
La disposition de Gridlayout est basée sur des références comportementales. de priorité (augmenté automatiquement selon le composant). Chaque grille de la disposition GridLayout doit être remplie du composant.
[Exemple 11-6] Les petites applications ont d'abord mis plusieurs boutons et plusieurs étiquettes dans JPanel, puis mettez JPanel dans JSCrollPane. que les exigences réelles du panneau.
Importer Java.applet.; Nouvelle dimension (W, H); ++) {P.Add (new JLabel ()); )); (W + 60, H + 60); ();}} Classe Scrolpane ExcrollPane {public ScrollPane (composant P) {Super (P); Mywindow; public void init () {MyWindow = new MyWindow (400, 350);}}
La disposition de GridLayout nécessite que la taille de tous les composants soit cohérente, ce qui peut ne pas être assez beau pour utiliser l'apparence de l'interface. Un remède consiste à combiner certains composants dans un récipient, puis à utiliser ce conteneur comme composant, puis à le mettre dans la disposition de gridLayout. Il s'agit du nidification du conteneur mentionné précédemment. Par exemple, le conteneur A utilise la disposition de la grille pour diviser le conteneur en grilles; d'autres conteneurs B et C sont placés dans plusieurs composants, et B et C sont ajoutés en tant que composants au conteneur A, respectivement. Les conteneurs B et C peuvent également être réglés sur la mise en page de la gridlayout, vous diviser en plusieurs grilles ou peuvent également être définis sur d'autres dispositions. De cette façon, à partir de l'apparence, la taille de chaque composant est différente.
4. CARDLAYOUT LAREAT
Bien que le conteneur utilisant la disposition CardLayout puisse accueillir plusieurs composants, plusieurs composants ont le même espace d'affichage et un seul composant peut être affiché à un certain moment. Tout comme une pile de cartes de poker ne peut afficher celle du haut à la fois, ce composant affiché occupera tout l'espace du conteneur. Les étapes de conception de la disposition de CardLayout sont les suivantes:
Créez d'abord un objet de mise en page CardLayout. Ensuite, utilisez la méthode setLayout () pour définir la mise en page du conteneur. La plupart, la méthode Add () pour appeler le conteneur ajoute le composant au conteneur. La méthode d'ajouter le composant de la stratégie de mise en page CardLayout est:
Add (code composant, composant);
Le code composant est une chaîne, qui est donnée séparément et n'a rien à voir avec le nom du composant.
Par exemple, le code suivant définit la disposition CardLayout pour un conteneur JPanel:
CardLayout MyCard = new Cardlayout ();
Il existe deux façons d'afficher un composant dans la méthode fournie par la classe Cardlayout:
(1) Code sous la forme de Show (nom de conteneur, code de composant) et spécifiez un affichage de composant dans un conteneur. Par exemple, le code suivant spécifie le composant du conteneur P pour afficher ce composant:
mycard.show (p, k);
(2) Le composant s'affiche dans l'ordre d'ajouter le conteneur en fonction du composant.
d'abord (conteneur): par exemple, le code mycard.first (p);
dernier (conteneur): par exemple, mycard.last (p);
Suivant (conteneur): par exemple, mycard.next (p);
Précédent (conteneur): myCard.Previous (p);
[Exemple 11-7] Les petites applications utilisent la disposition de CardLayout. La fenêtre a 4 boutons, qui sont responsables de l'affichage du premier composant de P, du dernier composant, du premier composant du composant actuel et du dernier composant du composant actuel.
Importation java.applet.; (); Label1 = new JLabel (je suis "+ x +" un label "); MyCard Void init () {setlayout (new borderLayout (); MyCard); )); (P2, "premier", ceci); IftActionCommand (). (e.getActionCommand ().
5. Méthode de mise en page et de setbounds
La disposition de l'air est de régler la disposition d'un conteneur sur la disposition nul. La disposition de l'air utilise la méthode SetBounds () pour définir la taille du composant lui-même et la position dans le conteneur:
SETBOUNDS (int x, int y, width int, int hauteur)
La zone occupée par le composant est un paramètre rectangulaire, et y est la coordonnée de position du coin supérieur gauche du composant dans le récipient; Il y a deux étapes pour les composants de réinstallation de disposition de l'air: utilisez d'abord la méthode Add () pour ajouter des composants dans le conteneur du corps. Ensuite, appelez la méthode setBounds () pour définir la position du composant dans le conteneur et la taille du composant lui-même. Autres méthodes liées aux composants:
1.GetSize ().
2.AutSize ().
3.SetVGAP (ing VGAP)
4.Sethgap (int hgap);