LayoutManager GridLayout 0/0 auf andere Ecke setzen

F

Firephoenix

Gast
Hi,
leider ist es mir nicht gelungen mein Problem über die API oder google zu lösen (ich bin mir nichtmal sicher ob es machbar ist :D).
Ist es möglich das GridLayout so zu verändern, dass 0/0 nicht oben links ist, sondern unten links und dann mit add jeweils nach oben anstatt nach unten gefüllt wird?
Ich versuche gerade einen Array-Datentyp per Schleifen auszugeben und müsste meinen Algorythmus nur gering anpassen, wenn ich einfach die Aufbauart des Gridbag ändern könnte.
Wisst ihr ob es dazu eine einfache Methode gibt die ich evtl übersehen habe?

Beste Grüße,
Firephoenix
 

eRaaaa

Top Contributor
Ich glaube das geht so von Haus aus mit dem Layout nicht, du kannst ja aber einfach die Methode
Code:
layoutContainer
überschreiben :)

Code:
parent.getComponent(i).setBounds(x, y, w, h);
ist dort der entscheidende Teil. Entweder du änderst dort das i entsprechend oder eben die Position :D
 
F

Firephoenix

Gast
Hi,
danke für die Antworten, ich meinte tatsächlich das GridLayout, bin nur nach einigen Fehlversuchen ziemlich Gridbag-geschädigt und versuche nach wie vor diesen Begriff aus meinem Gehirn zu löschen :oops:

Ich markier hier auch mal als erledigt, manchmal kommt man auf eine einfache Lösung erst nachdem man mal darüber geschlafen hat und seine Sorgen im Kaffee ertränkt:
Schleifen die die Array-Struktur übertragen einfach andersrum laufen lassen :D
Oder anders: Warum die Tafel drehen, wenn man den Projektor auf den Kopf stellen kann ;)

Gruß Firephoenix
 

André Uhres

Top Contributor
bin nur nach einigen Fehlversuchen ziemlich Gridbag-geschädigt und versuche nach wie vor diesen Begriff aus meinem Gehirn zu löschen
Ich stelle trotzdem mal eine funktionierende Lösung mit GridBag hier hin. Vielleicht kann einer das ja mal gebrauchen :) :
Java:
import java.awt.*;
import static java.awt.GridBagConstraints.*;
import java.awt.event.*;
import javax.swing.*;

public class GblBottomUp extends JFrame {

    private JButton btAdd;
    private JPanel panel;
    private GridBagLayout gbl;
    private final static int MAX_COLUMNS = 4;
    private int column, componentCount;

    public GblBottomUp() {
        initComponents();
    }

    private void initComponents() {
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        btAdd = new JButton("Add");
        panel = new JPanel(gbl = new GridBagLayout());
        getContentPane().add(btAdd, BorderLayout.PAGE_START);
        getContentPane().add(panel, BorderLayout.CENTER);
        for (int i = 0; i < MAX_COLUMNS; i++) {
            addBottomUp();
        }
        pack();
        btAdd.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(final ActionEvent evt) {
                addBottomUp();
                pack();
            }
        });
    }

    private void addBottomUp() {
        Component[] components = panel.getComponents();
        for (Component component : components) {//adapt gridy
            GridBagConstraints constraints = gbl.getConstraints(component);
            constraints.gridy += column == 0 ? 1 : 0;//new row with column 0
            gbl.setConstraints(component, constraints);
        }
        panel.add(createTestComponent(), constraints(column, 0, 1, 0, BOTH));
        column = column++ > MAX_COLUMNS - 2 ? 0 : column;//new column
    }

    private JComponent createTestComponent() {
        JComponent comp = new JButton("Test_" + ++componentCount);
        comp.setPreferredSize(new Dimension(100, 22));
        return comp;
    }

    private GridBagConstraints constraints(final int x, final int y,
            final double weightx, final double weighty, final int fill) {
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.gridx = x;
        gbc.gridy = y;
        gbc.weightx = weightx;
        gbc.weighty = weighty;
        gbc.insets = new Insets(4, 4, 4, 4);
        gbc.fill = fill;
        return gbc;
    }

    public static void main(final String... args) {
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                new GblBottomUp().setVisible(true);
            }
        });
    }
}
Gruß,
André
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E GridLayout auf ScrollPane AWT, Swing, JavaFX & SWT 4
thor_norsk GridLayout AWT, Swing, JavaFX & SWT 11
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
M Swing GridLayout AWT, Swing, JavaFX & SWT 2
D [Swing] Anordnung von Komponenten mit GridLayout Manager AWT, Swing, JavaFX & SWT 13
pkm kryptisches Verhalten bei GridLayout AWT, Swing, JavaFX & SWT 4
K Swing GridLayout - x und y bei Mausklick ausgeben AWT, Swing, JavaFX & SWT 4
S GridLayout SWT: Anordnung Composites nebeneinander AWT, Swing, JavaFX & SWT 2
B GridLayout - wie am besten implementieren AWT, Swing, JavaFX & SWT 3
B GridLayout Basics AWT, Swing, JavaFX & SWT 1
L Eigene JComponent in GridLayout AWT, Swing, JavaFX & SWT 9
fLooojava GridLayout - Frage bezüglich Kachelgröße AWT, Swing, JavaFX & SWT 5
F JPanel "verschmelzen" GridLayout AWT, Swing, JavaFX & SWT 10
M LayoutManager GridLayout funktioniert nicht AWT, Swing, JavaFX & SWT 0
T LayoutManager GridLayout panel.setSize funktioniert nicht AWT, Swing, JavaFX & SWT 1
F Gridlayout AWT, Swing, JavaFX & SWT 6
A JPanel oder GridLayout Größe festsetzten AWT, Swing, JavaFX & SWT 4
X GridLayout JPanel austauschen AWT, Swing, JavaFX & SWT 2
A JFrame Größenänderung mit Maus und GridLayout AWT, Swing, JavaFX & SWT 10
J Button in GridLayout AWT, Swing, JavaFX & SWT 2
C LayoutManager Grafik soll nicht im GridLayout Skalieren AWT, Swing, JavaFX & SWT 3
L LayoutManager GridLayout verschiebt sich AWT, Swing, JavaFX & SWT 6
B GridLayout AWT, Swing, JavaFX & SWT 6
T Spaltengröße einzelner Spalten in Gridlayout festlegen AWT, Swing, JavaFX & SWT 3
Karuka Abstände im GridLayout ändern AWT, Swing, JavaFX & SWT 8
Karuka 2D-Grafik Bilder in GridLayout einfügen AWT, Swing, JavaFX & SWT 7
C Scollpane an dynamisches GridLayout anpassen? AWT, Swing, JavaFX & SWT 3
J Swing Bilder anzeigen in Gridlayout AWT, Swing, JavaFX & SWT 11
C Linien über GridLayout zeichnen AWT, Swing, JavaFX & SWT 3
K Probleme mit Gridlayout AWT, Swing, JavaFX & SWT 4
U Elemente im Panel zentrieren mit GridLayout AWT, Swing, JavaFX & SWT 3
Z Swing JButton erweitern/Gridlayout AWT, Swing, JavaFX & SWT 2
L Swing GridLayout AWT, Swing, JavaFX & SWT 4
lumo LayoutManager SWT GridLayout - Reihenfolge ändern AWT, Swing, JavaFX & SWT 7
C Swing GridLayout: Kann man die Spaltenbreiten variabel gestalten? AWT, Swing, JavaFX & SWT 4
J SWT Größe eines Composite mit Gridlayout festlegen AWT, Swing, JavaFX & SWT 2
Y Kein GantChart in einem GridLayout AWT, Swing, JavaFX & SWT 5
M Formular in GridLayout ? AWT, Swing, JavaFX & SWT 17
R LayoutManager Problem mit GridLayout AWT, Swing, JavaFX & SWT 5
Rudolf Swing Gridlayout und Grouper vorhanden? AWT, Swing, JavaFX & SWT 4
S SWT GridLayout scrollbar machen? AWT, Swing, JavaFX & SWT 7
A Gridlayout Vertikal anordnen AWT, Swing, JavaFX & SWT 6
D LayoutManager GridLayout, 2 labels nebeneinander AWT, Swing, JavaFX & SWT 8
B Swing GridLayout.add über 2 Spalten? AWT, Swing, JavaFX & SWT 7
R LayoutManager GridLayout verändert isch andauernd AWT, Swing, JavaFX & SWT 4
A Frage zu GridLayout AWT, Swing, JavaFX & SWT 4
B GridLayout und scrollbar AWT, Swing, JavaFX & SWT 5
J Swing Bild in GridLayout AWT, Swing, JavaFX & SWT 8
aze GridLayout: Keine automatische Ausdehnung AWT, Swing, JavaFX & SWT 2
M SWT keine Scrollbar bei widgets.List und GridLayout AWT, Swing, JavaFX & SWT 2
M Image an Gridlayout anpassen AWT, Swing, JavaFX & SWT 5
E SWT Problem mit Gridlayout AWT, Swing, JavaFX & SWT 3
G SWT GridLayout AWT, Swing, JavaFX & SWT 2
lumo SWT GridLayout - clear? AWT, Swing, JavaFX & SWT 4
T GridLayout Zeilen Hintergrund AWT, Swing, JavaFX & SWT 5
N Gridlayout macht Probleme AWT, Swing, JavaFX & SWT 3
L GridLayout verändert festgesetzte Größe der Komponenten AWT, Swing, JavaFX & SWT 12
S Gridlayout - Tabellenzeile "beenden" AWT, Swing, JavaFX & SWT 3
Dragonfire GridLayout Probleme AWT, Swing, JavaFX & SWT 4
A JLabel, Icons und GridLayout AWT, Swing, JavaFX & SWT 3
C JPanel-Array in GridLayout AWT, Swing, JavaFX & SWT 4
G SWT GridLayout AWT, Swing, JavaFX & SWT 3
N Gridlayout 2. Spalte füllen AWT, Swing, JavaFX & SWT 4
W Problem mit GridLayout AWT, Swing, JavaFX & SWT 11
K Problem mit nem GridLayout AWT, Swing, JavaFX & SWT 5
T GridLayout, zu wenig Platz zwischen Widgets AWT, Swing, JavaFX & SWT 3
T SWT/Eclipse Form Controls zur Laufzeit hinzufügen,GridLayout AWT, Swing, JavaFX & SWT 4
M GridLayout mit fester Größe möglich? AWT, Swing, JavaFX & SWT 3
E Einfache Frage zu GridLayout AWT, Swing, JavaFX & SWT 35
G Größe der einzelenen Felder im GridLayout einstellbar? AWT, Swing, JavaFX & SWT 5
P Canvas in JFrame mit GridLayout AWT, Swing, JavaFX & SWT 4
F GridLayout: verschiedene Spaltenbreiten AWT, Swing, JavaFX & SWT 2
S GridLayout ? AWT, Swing, JavaFX & SWT 5
D AutoResize bei GridLayout ausschalten? AWT, Swing, JavaFX & SWT 2
D GridLayout mit nur einer Spalte, aber n Zeilen AWT, Swing, JavaFX & SWT 2
E GridLayout seltsame Anordnungsstrategie AWT, Swing, JavaFX & SWT 6
S Problemen mit Canvas-Objekten im GridLayout AWT, Swing, JavaFX & SWT 8
L Grids benennen beim GridLayout AWT, Swing, JavaFX & SWT 5
S GridLayout mit sehr großen Abständen AWT, Swing, JavaFX & SWT 3
I SWT GridLayout AWT, Swing, JavaFX & SWT 5
V Frage zu GridLayout. AWT, Swing, JavaFX & SWT 3
P SWT GridLayout AWT, Swing, JavaFX & SWT 5
O gridlayout konstante größe AWT, Swing, JavaFX & SWT 3
TRunKX Problem mit dem GridLayout und den proportionen AWT, Swing, JavaFX & SWT 4
P SWT: GridLayout und Textfelder AWT, Swing, JavaFX & SWT 1
M GridLayout funktioniert nicht mehr. AWT, Swing, JavaFX & SWT 2
F GridLayout horizontal ausrichten AWT, Swing, JavaFX & SWT 6
K GridLayout: Colspan, Rowspan AWT, Swing, JavaFX & SWT 2
R GridLayout spinnt AWT, Swing, JavaFX & SWT 14
C leeres Element in Gridlayout einfuegen AWT, Swing, JavaFX & SWT 3
D Problem bei GridLayout und JPanels AWT, Swing, JavaFX & SWT 4
J GridLayout AWT, Swing, JavaFX & SWT 5
H GridLayout: Größe einer Komponente ändern AWT, Swing, JavaFX & SWT 2
L Frage zum GridLayout AWT, Swing, JavaFX & SWT 4
G kann man die aufteilung von GridLayout beeinflussen ? AWT, Swing, JavaFX & SWT 10
I Libraries für AWT für andere Grafik-Frameworks tauglich machen AWT, Swing, JavaFX & SWT 6
M Hough-Transformation für Kreise und andere Formen AWT, Swing, JavaFX & SWT 3
H Swing Frame an andere Klassen weitergeben AWT, Swing, JavaFX & SWT 4
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
L TextField Eingabe in andere GUI übernehmen AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben