Grid-Layout problem

newJavaGeek

newJavaGeek

Mitglied
Ich habe hier eine Test-Datei, wo ich ein GUI mit einem Grid Layout in einem TAB Layout erzeugen will. doch leider Funktioniert das Grid Layout nicht. Kann mir jemand sagen warum?


Java:
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JComponent;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.KeyEvent;

public class TestField extends JPanel {
  
    
    public static void main(String[] args) {
        Database data=new Database();
        JFrame frame=new JFrame("Fehler Liste");
        JTabbedPane tabbedPane=new JTabbedPane();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(500, 500);
        
        JPanel in=new JPanel();
        GridLayout gridLayoutIn = new GridLayout(2,3);
        in.setLayout(gridLayoutIn);
        
        JComboBox CtabellenAuswahl = new JComboBox(Database.tabelle);
        in.add(CtabellenAuswahl);
        
        JComboBox CGeraetAuswahl = new JComboBox(Database.geraet);
        in.add(CGeraetAuswahl);
        
        JTextField reason = new JTextField("Reason");
        in.add(reason);
        
        JTextField sn = new JTextField("Serial number");
        in.add(sn);
        
        JTextField repair = new JTextField("Repair");
        in.add(repair);
        
        JButton insert = new JButton("INSERT");
        in.add(insert);
        
        
        JPanel out=new JPanel();
        GridLayout gridLayoutOut=new GridLayout(2, 1);
        in.setLayout(gridLayoutOut);
 
        
        JPanel del=new JPanel();
        GridLayout gridLayoutDel=new GridLayout();
        in.setLayout(gridLayoutDel);
        
        tabbedPane.add("IN", in);
        tabbedPane.add("OUT", out);
        tabbedPane.add("DEL", del);
        
        frame.add(tabbedPane);
        frame.setVisible(true);       
    }
        
}
 
mihe7

mihe7

Top Contributor
Erstmal Danke für das fast perfekte Codebeispiel (Database hättest Du noch ersetzen können, dann wäre es direkt ausführbar gewesen).

Das GridLayout funktioniert natürlich schon, nur änderst Du es in den Zeilen 52 und 57 wieder.
 
L

LimDul

Top Contributor
Übrigens kleine Anmerkung, beim Gridlayout sollte man nur die Spalten oder nur die Zeilen angeben - also entweder
Java:
        GridLayout gridLayoutIn = new GridLayout(0,3);
oder

Java:
        GridLayout gridLayoutIn = new GridLayout(2,0);

Die API ist da etwas fies - das Gridlayout gibt entweder eine fixe Spalten- oder eine fixe Zeilenzahl vor und die jeweils andere Dimension ist dynamisch.

Aus der Doku:

When both the number of rows and the number of columns have been set to non-zero values, either by a constructor or by the setRows and setColumns methods, the number of columns specified is ignored. Instead, the number of columns is determined from the specified number of rows and the total number of components in the layout. So, for example, if three rows and two columns have been specified and nine components are added to the layout, they will be displayed as three rows of three columns. Specifying the number of columns affects the layout only when the number of rows is set to zero.

Lustig, das übrigens das Beispiel oben drüber genau das macht und beides angibt ....
 
newJavaGeek

newJavaGeek

Mitglied
Erstmal Danke für das fast perfekte Codebeispiel (Database hättest Du noch ersetzen können, dann wäre es direkt ausführbar gewesen).

Das GridLayout funktioniert natürlich schon, nur änderst Du es in den Zeilen 52 und 57 wieder.
Vielen Dank für den Hinweis!
Heißt das, ich kann auf den verschiedenen Panels nicht verschiedene Layouts machen ? oder kann ich nur nicht verschiedene Gridlayouts auf verschiedene Panels zu packen?
 
newJavaGeek

newJavaGeek

Mitglied
Übrigens kleine Anmerkung, beim Gridlayout sollte man nur die Spalten oder nur die Zeilen angeben - also entweder
Java:
        GridLayout gridLayoutIn = new GridLayout(0,3);
oder

Java:
        GridLayout gridLayoutIn = new GridLayout(2,0);

Die API ist da etwas fies - das Gridlayout gibt entweder eine fixe Spalten- oder eine fixe Zeilenzahl vor und die jeweils andere Dimension ist dynamisch.

Aus der Doku:



Lustig, das übrigens das Beispiel oben drüber genau das macht und beides angibt ....
Auch dir Vielen dank für den Tipp!
 
L

LimDul

Top Contributor
Vielen Dank für den Hinweis!
Heißt das, ich kann auf den verschiedenen Panels nicht verschiedene Layouts machen ? oder kann ich nur nicht verschiedene Gridlayouts auf verschiedene Panels zu packen?
Doch das geht natürlich, aber dann musst das Gridlayout auch an dem Panel setzen - Du setzt es aber immer an das Panel "in".
 
L

LimDul

Top Contributor
Passiert :)

Für die ersten Schritte ist es so, wie du es da geschrieben hast, schon ok. Aber perspektivisch würde ich das zusammenbauen der GUI in entsprechende Methoden auslagern. Für jedes deiner drei Panels eine eigene Methode, die das Panel erzeugt und zurückgibt. Hat den Vorteil das diese Art von Fehlern nicht passieren kann, weil die jeweiligen Methoden zum erzeugen das jeweils andere Panel nicht sehen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L wie Layout-Grid in JXPanel anzeigen? AWT, Swing, JavaFX & SWT 5
H LayoutManager GUI skalieren und deren Komponenten mit Grid(Bag)Layout-Manager. AWT, Swing, JavaFX & SWT 5
R Thumbpanel bzw. Layout das Componenten in einem Grid anordnet ..? AWT, Swing, JavaFX & SWT 13
O Grid Layout "Füllmodus" ändern AWT, Swing, JavaFX & SWT 3
P Grid Layout + Array AWT, Swing, JavaFX & SWT 6
R Größe von Scene und stage an grid anpassen AWT, Swing, JavaFX & SWT 4
L Swing Ein Rechteck in ein Grid Zeichnen AWT, Swing, JavaFX & SWT 5
T Vaadin grid ! AWT, Swing, JavaFX & SWT 0
T JPanel und Grid aus Hexagons AWT, Swing, JavaFX & SWT 9
lumo SWT NEBULA Grid... AWT, Swing, JavaFX & SWT 4
A Problem mit Grid bag AWT, Swing, JavaFX & SWT 2
G Grid L*a*y*o*u*t SWT AWT, Swing, JavaFX & SWT 6
0 Bilder auf einem Grid anordnen? AWT, Swing, JavaFX & SWT 9
O JTable Grid Lines AWT, Swing, JavaFX & SWT 3
G Installieren von net.sf.jeppers.grid.* AWT, Swing, JavaFX & SWT 3
F JTable Grid ausgeschaltet . aber trotzdem sichtbar AWT, Swing, JavaFX & SWT 3
R Layered Layout AWT, Swing, JavaFX & SWT 1
E showAndWait is not allowed during animation or layout processing Memory FX AWT, Swing, JavaFX & SWT 2
E Swing Layout während der Laufzeit anpassen AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
R Layout Manager null und Component wird nicht hinzugefügt AWT, Swing, JavaFX & SWT 3
S Kann javafx.scene.layout.VBoxBuilder nicht importieren AWT, Swing, JavaFX & SWT 3
OSchriever Layout über Radiobuttons ändern AWT, Swing, JavaFX & SWT 4
B Swing Probleme mit dem Layout AWT, Swing, JavaFX & SWT 1
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
I JavaFX - festes Layout AWT, Swing, JavaFX & SWT 1
S JavaFX TableView einzelne Zelle Layout zuweisen AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
N Swing Card-Layout, Fokus AWT, Swing, JavaFX & SWT 2
kilopack15 Interface mit Layout verknüpfen AWT, Swing, JavaFX & SWT 2
Y Layout/Ausrichtungsprobleme AWT, Swing, JavaFX & SWT 4
T JavaFX Custom Layout AWT, Swing, JavaFX & SWT 5
A GUI Layout AWT, Swing, JavaFX & SWT 11
A Layout-Manager, JScrollPane, ... Chaos AWT, Swing, JavaFX & SWT 5
L Eigene Component Layout AWT, Swing, JavaFX & SWT 4
Soloeco LayoutManager Wie und welches Layout nutze ich am Besten? AWT, Swing, JavaFX & SWT 13
M LayoutManager Modalen JDialog ein Layout zuweisen AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout reagiert nicht auf Constraints AWT, Swing, JavaFX & SWT 4
IsSchoGuat LayoutManager Layout-Containergrösse AWT, Swing, JavaFX & SWT 4
F GridBag Layout AWT, Swing, JavaFX & SWT 1
Z Absolutes Layout / Kontrolle über Anordnung AWT, Swing, JavaFX & SWT 3
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
J ComboBoxModel addElement verändert Layout AWT, Swing, JavaFX & SWT 8
E Probelm mit Layout AWT, Swing, JavaFX & SWT 1
B Hilfe welches Layout brauch ich AWT, Swing, JavaFX & SWT 4
P Tipps für GUI-Layout AWT, Swing, JavaFX & SWT 2
M Passender Layout-Manager AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout zur Laufzeit ändern AWT, Swing, JavaFX & SWT 8
N Swing Zweifarbiges Layout für den Filechooser AWT, Swing, JavaFX & SWT 12
B LayoutManager Card Layout AWT, Swing, JavaFX & SWT 2
E Angehängtes Layout, aber wie? AWT, Swing, JavaFX & SWT 12
1 Eigenes Layout schreiben AWT, Swing, JavaFX & SWT 4
B SWT layout invalidieren in SWT? AWT, Swing, JavaFX & SWT 4
R Welchen Layout Manager/ Wie strukturieren? AWT, Swing, JavaFX & SWT 14
J Layout: oben 20% unten 80% AWT, Swing, JavaFX & SWT 12
T Layout für Listendarstellung AWT, Swing, JavaFX & SWT 3
F LayoutManager Null-Layout unter Linux im TreeCellEditor AWT, Swing, JavaFX & SWT 3
K Eclipse Layout (Gimp Layout, Tiled Layout...) AWT, Swing, JavaFX & SWT 4
C LayoutManager Passendes Layout gesucht AWT, Swing, JavaFX & SWT 2
M Layout funktioniert nicht AWT, Swing, JavaFX & SWT 3
dzim Layout von Panes in JFX2 AWT, Swing, JavaFX & SWT 17
H Layout Idee AWT, Swing, JavaFX & SWT 8
M Swing Dynamisches Layout AWT, Swing, JavaFX & SWT 10
P Swing welchen Layout Manager verwenden AWT, Swing, JavaFX & SWT 9
J LayoutManager Komponentenaustausch zerschießt Layout AWT, Swing, JavaFX & SWT 4
F Layout-Problem AWT, Swing, JavaFX & SWT 2
K Gui Layout Frage AWT, Swing, JavaFX & SWT 5
B Anderen Layout-Manager verwenden AWT, Swing, JavaFX & SWT 17
E Null-Layout - Wie geht es ohne? AWT, Swing, JavaFX & SWT 19
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
L Swing dynamisches Image-Panel in Layout einbinden AWT, Swing, JavaFX & SWT 10
D Bild in JPanel verschiebt Layout. Wie fixieren? AWT, Swing, JavaFX & SWT 9
GUI-Programmer Wieder ne Layout Frage AWT, Swing, JavaFX & SWT 11
GUI-Programmer LayoutManager Kurze Layout Frage - eine komponente mittig? AWT, Swing, JavaFX & SWT 5
D Problem mit 3-Spalten Layout AWT, Swing, JavaFX & SWT 17
ARadauer Wenig Material zum Thema: Design, Layout, Usability von Swing Anwendungen AWT, Swing, JavaFX & SWT 11
S LayoutManager Welcher LayoutManager für dieses zweispaltige Layout? AWT, Swing, JavaFX & SWT 13
G LayoutManager Layout welches von Links nach rechts anordnet mit TOP Alignment! AWT, Swing, JavaFX & SWT 5
A Best practice für konkretes Layout AWT, Swing, JavaFX & SWT 10
G LayoutManager Layout für Spalten AWT, Swing, JavaFX & SWT 8
A Layout/JPanelgröße AWT, Swing, JavaFX & SWT 6
S pack() bei null-Layout AWT, Swing, JavaFX & SWT 10
C SWT Tabellen-Layout in StyledText? AWT, Swing, JavaFX & SWT 6
J LayoutManager Welchen Layout/Design-Manager? AWT, Swing, JavaFX & SWT 4
R Swing Layout setzen AWT, Swing, JavaFX & SWT 3
L Layout automatische Anpassung umgehen? AWT, Swing, JavaFX & SWT 5
A Problem mit Layout-Manager AWT, Swing, JavaFX & SWT 11
J Button Layout anpassen AWT, Swing, JavaFX & SWT 22
H LayoutManager Layout mit GridBagLayout machbar? AWT, Swing, JavaFX & SWT 6
B Buttongröße im Layout AWT, Swing, JavaFX & SWT 4
B LayoutManager Layout Problem AWT, Swing, JavaFX & SWT 14
O LayoutManager Layout entwerfen AWT, Swing, JavaFX & SWT 3
A diverse Layout-Fragen AWT, Swing, JavaFX & SWT 4
F LayoutManager Eigenes Layout die Lösung?! AWT, Swing, JavaFX & SWT 4
dzim SWT Layout mit Sections aus Eclipse Forms AWT, Swing, JavaFX & SWT 17
F JScrollPane verwirft Layout von JPanel AWT, Swing, JavaFX & SWT 2
C LayoutManager Layout und vergrößern des Frames AWT, Swing, JavaFX & SWT 5
E Swing Runde Buttons / Position eines Obj. im Layout AWT, Swing, JavaFX & SWT 7
S Swing UI-Elemente ordnen sich ungewollt in einer Reihe (ohne Layout) AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Anzeige

Neue Themen


Oben