Unterschiede
Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.
| swing:gridbaglayout 2007/09/07 10:03 | swing:gridbaglayout 2020/01/22 20:59 aktuell | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | GridBagLayout | + | [[swing:swing|Java - AWT/Swing]]\\ |
| + | ====== GridBagLayout ====== | ||
| + | //java.awt.GridBagLayout//\\ | ||
| Immer wieder hört man, dass das GridBagLayout so kompliziert sei. Zwar ist es wirklich sehr umfangreich, aber in der Regel benötigt man nur wenige Methoden. | Immer wieder hört man, dass das GridBagLayout so kompliziert sei. Zwar ist es wirklich sehr umfangreich, aber in der Regel benötigt man nur wenige Methoden. | ||
| Grundsätzlich arbeitet das GridBagLayout mit einem gedachten Gitter. Jedes Feld in diesem Gitter kann durch seine Position (x,y) adressiert werden. | Grundsätzlich arbeitet das GridBagLayout mit einem gedachten Gitter. Jedes Feld in diesem Gitter kann durch seine Position (x,y) adressiert werden. | ||
| - | Um die Größe des Gitters zu bestimmen, kann man sich das gewünschte Layout ja auf einem Stück Papier skizieren. | + | Um die Größe des Gitters zu bestimmen, kann man sich das gewünschte Layout ja auf einem Stück Papier skizzieren. |
| - | Mit der Klasse GridBagConstraints werden die Eigenschaften eines einzelnen Elements festgelegt. | + | Mit der Klasse GridBagConstraints werden die Eigenschaften eines einzelnen Elements festgelegt.\\ |
| - | + | \\ | |
| - | Beispiel: | + | <html> |
| - | Der gewünschte Dialog Das dahinter liegende Gitter | + | <script type="text/javascript"><!-- |
| - | + | google_ad_client="pub-9681858985507948"; | |
| - | 0,0 1,0 | + | google_ad_width = 468; |
| - | 0,1 1,1 | + | google_ad_height = 60; |
| + | google_ad_format = "468x60_as"; | ||
| + | google_ad_type = "text"; | ||
| + | google_ad_channel = ""; | ||
| + | google_color_border = "cccccc"; | ||
| + | google_color_bg = "FFFFFF"; | ||
| + | google_color_link = "1d2d8c"; | ||
| + | google_color_text = "000000"; | ||
| + | google_color_url = "1d2d8c"; | ||
| + | //--> | ||
| + | </script> | ||
| + | <script type="text/javascript" | ||
| + | src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> | ||
| + | </script> | ||
| + | </html> | ||
| + | \\ | ||
| + | \\ | ||
| + | **Beispiel**\\ | ||
| + | Der gewünschte Dialog:\\ | ||
| + | {{:gridbaglayout.gif|}}\\ | ||
| + | \\ | ||
| + | Das dahinter liegende Gitter:\\ | ||
| + | | 0,0 | 1,0 | | ||
| + | | 0,1 | 1,1 | | ||
| Die Liste auf der linken Seite belegt also die beiden Gitterfelder 0,0 und 0,1. | Die Liste auf der linken Seite belegt also die beiden Gitterfelder 0,0 und 0,1. | ||
| - | Die Höhe der Liste beträgt somit "2". | + | Die Höhe der Liste beträgt somit "2". Um einem Control (hier der Liste) die Positions- und Größenangaben zuzuordnen, wird die Klasse GridBagConstraints verwendet.\\ |
| Der dazugehörige Source sieht so aus: | Der dazugehörige Source sieht so aus: | ||
| - | '' | + | <code java> |
| - | package com.sowas.javademo.awt;\\ | + | package com.sowas.javademo.awt; |
| - | \\ | + | |
| - | import java.awt.*;\\ | + | import java.awt.*; |
| - | import java.awt.event.*;\\ | + | import java.awt.event.*; |
| - | \\ | + | |
| - | public class GridBagLayoutDemo extends Frame implements ActionListener{\\ | + | public class GridBagLayoutDemo extends Frame implements ActionListener { |
| - | Button btClose;\\ | + | Button btClose; |
| - | \\ | + | |
| - | public GridBagLayoutDemo(){\\ | + | public GridBagLayoutDemo(){ |
| - | super("GridBagLayoutDemo");\\ | + | super("GridBagLayoutDemo"); |
| - | \\ | + | |
| - | GridBagLayout gbl=new GridBagLayout();\\ | + | GridBagLayout gbl=new GridBagLayout(); |
| - | setLayout(gbl);\\ | + | setLayout(gbl); |
| - | GridBagConstraints gbc=new GridBagConstraints();\\ | + | GridBagConstraints gbc=new GridBagConstraints(); |
| - | \\ | + | |
| - | // Festlegen, dass die GUI-Elemente die Gitterfelder in \\ | + | // Festlegen, dass die GUI-Elemente die Gitterfelder in |
| - | // waagerechter Richtung ausfüllen:\\ | + | // waagerechter Richtung ausfüllen: |
| - | gbc.fill=GridBagConstraints.HORIZONTAL;\\ | + | gbc.fill=GridBagConstraints.HORIZONTAL; |
| - | \\ | + | |
| - | // Die Abständer der einzelnen GUI-Elemente zu den gedachten | + | // Die Abstände der einzelnen GUI-Elemente zu den gedachten |
| // Gitterlinien festgelegen: | // Gitterlinien festgelegen: | ||
| gbc.insets = new Insets(2,2,2,2); | gbc.insets = new Insets(2,2,2,2); | ||
| Zeile 75: | Zeile 100: | ||
| } | } | ||
| } | } | ||
| - | '' | + | </code> |