Eine Sammlung von nützlichen Code-Schnipseln
Snippet: TableLayout
Stichworte
layout
,
layoutmanager
,
swing
,
tablelayout
TableLayout ist ein praktischer, leicht zu benutzender, tabellenorientierter LayoutManager.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 import info.clearthought.layout.TableLayout; import java.awt.Color; import javax.swing.*; /** * TableLayout: Ein alternativer Layoutmanager * * [url]https://tablelayout.dev.java.net/[/url] */ public class TableLayoutDemo { public JFrame createFrame() { JFrame frame = new JFrame("TableLayout"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JButton b1 = new JButton("Button 1"); JButton b2 = new JButton("Button 2"); JButton b3 = new JButton("Button 3"); JButton b4 = new JButton("Button 4"); JLabel l1 = new JLabel("Label eins", JLabel.CENTER); JLabel l2 = new JLabel("Label zwei", JLabel.CENTER); JLabel l3 = new JLabel("Label drei", JLabel.CENTER); JLabel l4 = new JLabel("Label vier", JLabel.CENTER); JEditorPane editor = new JEditorPane(); editor.setBackground(Color.YELLOW); editor.setText("Editor"); // mögliche Werte in Größen-Array // Integer: Breite der Spalte / Höhe der Zeile in Pixeln // Double: Anteil der verfügbaren Größe (z.B. 0.25 für ein viertel) // TableLayout.FILL: Komponente füllt Zellen aus // TableLayout.PREFERRED: bevorzugte Größe der Komponente double size[][] = { { TableLayout.FILL, TableLayout.FILL, TableLayout.FILL, TableLayout.FILL }, // Columns { TableLayout.FILL, TableLayout.FILL, TableLayout.FILL, TableLayout.FILL, TableLayout.FILL } };// Rows TableLayout layout = new TableLayout(size); layout.setVGap(5); layout.setHGap(5); frame.setLayout(layout); // Constraints geben Koordinaten der Komponente im Layout an // Die ersten beiden Zahlen sind die Koordinaten der linken oberen Ecke, // (optional) die dritte und vierte Zahl die der rechten unteren Ecke. frame.add(b1, "0,0"); frame.add(b2, "1,1, 2,2"); frame.add(b3, "3,0"); frame.add(b4, "3,1, 3,2"); frame.add(l1, "0,1"); frame.add(l2, "1,0, 2,0"); frame.add(l3, "0,2"); frame.add(l4, "3,3"); frame.add(editor, "0,3, 2,4"); frame.setSize(400,300); frame.pack(); return frame; } public static void main(String[] args) { new TableLayoutDemo().createFrame().setVisible(true); } }
Kommentare 9
Kommentare
-
Ein Kommentar im Quellcode ist nicht ganz richtig:
"TableLayout.FILL: Komponente füllt Zellen aus"
Mit TableLayout.FILL gibt man an, das die Spalte bzw Zeile den restlichen Platz in der Höhe oder Breite einnehmen soll, bzw wenn es mehrere gibt, diese sich untereinander aufteilen.
Die Konstante TableLayout.FULL, die man bei den TableLayoutConstraints angeben kann, gibt an das die Komponente die Zelle in vertikaler und/oder horizontaler Richtung ausfüllen sollVeröffentlicht: 16.04.2009 um 15:40 von SebiB90
-
Veröffentlicht: 19.04.2009 um 06:37 von Developer_X
-
Hi,
die JAR scheint unter dem angegeben Link nicht mehr verfügbar zu sein. Auf dieser Seite habe ich zwar noch eine Version gefunden, diese scheint aber nicht mit der hier angegeben übereinzustimmen. Wo finde ich die (aktuelle) TableLayout.jar oder muss man sich die selbst bauen?
Gruß MichaVeröffentlicht: 24.09.2011 um 14:17 von Milo
-
Wieso scheint die nicht übereinzustimmen?
TableLayout - die URL passt zumindest mit dem Packagenamen von tfa überein und ein Ordner layout gibts auch und dort befindet sich auch die TableLayout.class/java ....
Veröffentlicht: 25.09.2011 um 20:47 von eRaaaa
-
Hi eRaaaa,
wenn ich auf die URL im Beitrag klicke und dann unter Downloads nach eine JAR suche, finde ich nur den Hinweis: There are no downloads for this project.
Im o.g. Code wird setVGap/setHGap aufgerufen. In der von mir verlinken bzw. gefundenen Version sind diese Methoden unbekannt. Daher meine Frage: Wo finde ich die derzeit aktuelle Bibliothek?
Besten Dank
MichaVeröffentlicht: 26.09.2011 um 10:14 von Milo
-
Veröffentlicht: 02.10.2011 um 19:54 von Dit_
-
Hi,
okay. Wollte nur sichergehen, dass es nicht ggf. eine neuere Version gibt.
Gruß MichaVeröffentlicht: 13.10.2011 um 10:19 von Milo
-
Veröffentlicht: 07.11.2011 um 10:54 von Milo
-
Veröffentlicht: 10.11.2011 um 11:20 von tfa








