java-forum.org - Java programmieren aus Leidenschaft
Java 6 Einstieg und professioneller Einsatz
Alter Preis: 34,90 EUR
Jetzt: 0,00 EUR

zzgl. Versandkosten

Zurück   java-forum.org - Java programmieren aus Leidenschaft > Blogs > Java Snippets

Eine Sammlung von nützlichen Code-Schnipseln
Bewerten

Snippet: TableLayout

"Snippet: TableLayout" bei Mister Wong speichern "Snippet: TableLayout" bei YiGG.de speichern "Snippet: TableLayout" bei Google speichern "Snippet: TableLayout" bei del.icio.us speichern
Veröffentlicht: 16.04.2009 um 08:00 von tfa
Aktualisiert: 10.11.2011 um 11:20 von tfa

TableLayout ist ein praktischer, leicht zu benutzender, tabellenorientierter LayoutManager.



Java Code: Quelltext in neuem Fenster öffnen
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);
    }
}
Angehängte Grafiken
Dateityp: png tablelayout.png (13,8 KB, 1042x aufgerufen)
Kategorie: Swing
Hits 4749 Kommentare 9
« Zurück     Startseite des Blogs     Nächste »
Kommentare 9

Kommentare

  1. Alter Kommentar
    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 soll
    permalink
    Veröffentlicht: 16.04.2009 um 15:40 von SebiB90 SebiB90 ist offline
  2. Alter Kommentar
    Benutzerbild von Developer_X
    Also, ich hab das mal bei mir getestet und ist echtpraktisch.

    Das TableLayout teilt die Größe des Fensters in N Fläschen, und man kann dann, ein Component adden, und angeben von welcher Fläche bis zur welchen dies geadded werden soll.
    permalink
    Veröffentlicht: 19.04.2009 um 06:37 von Developer_X Developer_X ist offline
  3. Alter Kommentar
    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ß Micha
    permalink
    Veröffentlicht: 24.09.2011 um 14:17 von Milo Milo ist offline
  4. Alter Kommentar
    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 ....
    permalink
    Veröffentlicht: 25.09.2011 um 20:47 von eRaaaa eRaaaa ist offline
  5. Alter Kommentar
    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
    Micha
    permalink
    Veröffentlicht: 26.09.2011 um 10:14 von Milo Milo ist offline
  6. Alter Kommentar
    Benutzerbild von Dit_
    Download

    Diese zwei Anweisungen sind unnötig.
    Java Code: Quelltext in neuem Fenster öffnen
    1
    2
    
    layout.setVGap(5);
    layout.setHGap(5);
    permalink
    Veröffentlicht: 02.10.2011 um 19:54 von Dit_ Dit_ ist offline
  7. Alter Kommentar
    Hi,

    okay. Wollte nur sichergehen, dass es nicht ggf. eine neuere Version gibt.

    Gruß Micha
    permalink
    Veröffentlicht: 13.10.2011 um 10:19 von Milo Milo ist offline
  8. Alter Kommentar
    Nachtrag: Habe nun u.a. hier zwei Versionen gefunden. Das aber nur zur Info.

    Micha
    permalink
    Veröffentlicht: 07.11.2011 um 10:54 von Milo Milo ist offline
  9. Alter Kommentar
    Benutzerbild von tfa
    Ich hbe den Link im Artikel angepasst.
    permalink
    Veröffentlicht: 10.11.2011 um 11:20 von tfa tfa ist gerade online
 

Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de