LayoutManager Auf gleicher Höhe anordnen

Hey Community,

mein Programm funktioniert größtenteils. Bevor ich jedoch weitermache, will ich erst mal das Layout anpassen. Bisher sieht es so aus:

mastermindstatus.jpg


jedoch sollen immer 4 schwarze Punkte von rechts auf gleicher Höhe mit einer Zeile der Buttons sein.
Hierzu mein Code:

Java:
		JPanel spiel = new JPanel();
		spiel.setLayout(new FlowLayout());
		
		JPanel eingabeErg = new JPanel();
		eingabeErg.setLayout(new GridLayout(8,1));
		
		JPanel eingabeFarben = new JPanel();
		eingabeFarben.setLayout(new GridLayout(8,1));
		
		spiel.add(eingabeFarben);
		spiel.add(eingabeErg);


       feld = new ZellenFeld(sizeX, sizeY);
        zellen = new JButton[sizeX][sizeY];
        
        feld2 = new ZellenFeld(8,1);
        zellen2 = new JPanel[8][1];
        
        feld3 = new ZellenFeld(2,2);
        zellen3 = new JLabel[2][2];
        
        
        for (int x = 0; x < sizeX; x++) {
            for (int y = 0; y < sizeY; y++) {
            	JButton neuZelle = new JButton();
            	neuZelle.setIcon(new ImageIcon(MasterMind.class.getResource("imgBtnGrey.png")));
            	zellen[x][y] = neuZelle;
            	zellen[x][y].addActionListener(new ZellenListener(x,y, neuZelle));
            	if(x>0)zellen[x][y].setEnabled(false);
            	eingabeFarben.add(zellen[x][y]);
            }
        }
        
        //eingabeErg hat Gridlayout (8,1)
        
        
        for(int i = 0; i<8; i++){
        		JPanel neueZelle2 = new JPanel();
        		neueZelle2.setLayout(new GridLayout(2,2));
        		zellen2[i][0] = neueZelle2;
        		eingabeErg.add(zellen2[i][0]);
        } 
        
        for(int i = 0; i<8; i++){
        	for(int j = 0; j<2; j++)
        		for(int k = 0; k<2; k++){
        			JLabel neueZelle3 = new JLabel("");
        			zellen3[j][k] = neueZelle3;
        			zellen3[j][k].setIcon(new ImageIcon(MasterMind.class.getResource("EvalPeg_0.png")));
        			zellen2[i][0].add(zellen3[j][k]);
        		}
        }

Mit freundlichen Grüßen :)
 

Marco13

Top Contributor
Hmm... bißchen fummelig ... welchen LayoutManager hatt den "spiel"?

sizeX ist wohl 4 und sizeY ist 8? Eigentlich kommt das mit einem GridLayout(8,1) ja nicht hin...

Eine Möglichkeit wäre vielleicht(!) dort ein GridLayout(8,5) zu verwenden: Die ersten 4 sind die JButtons für die Eingabe, und das 5. ist ein JPanel mit den 2x2 "pegs". Aber beim Layout gibt es meistens tausende Möglichkeiten, musst mal überlegen ob das für deinen Fall passen würde...
 
Vielen Dank. Es sieht schon wesentlich besser aus. jetzt habe ich nur noch 1 Problem:

Kann ich da ein bisschen mehr Platz zwischen den buttons und den schwarzen Kugeln haben?
Bzw. wie gehts Das?

Java:
		JPanel spiel = new JPanel();
		spiel.setLayout(new FlowLayout());
		
		JPanel eingabeFarben = new JPanel();
		eingabeFarben.setLayout(new GridLayout(8,5));
		
		spiel.add(eingabeFarben);
		
        feld = new ZellenFeld(sizeX, sizeY);
        zellen = new JButton[sizeX][sizeY];
        
        feld2 = new ZellenFeld(8,1);
        zellen2 = new JPanel[8][1];
        
        feld3 = new ZellenFeld(2,2);
        zellen3 = new JLabel[2][2];
        
        
        for (int x = 0; x < sizeX; x++) {
            for (int y = 0; y < sizeY+1; y++) {
            	if(y==4){
            		JPanel neueZelle2 = new JPanel();
            		neueZelle2.setLayout(new GridLayout(2,2));
            		zellen2[x][0] = neueZelle2;
            		eingabeFarben.add(zellen2[x][0]);
            	}
            	else{
            		JButton neuZelle = new JButton();
            		neuZelle.setIcon(new ImageIcon(MasterMind.class.getResource("imgBtnGrey.png")));
            		zellen[x][y] = neuZelle;
            		zellen[x][y].addActionListener(new ZellenListener(x,y, neuZelle));
            		if(x>0)zellen[x][y].setEnabled(false);
            		eingabeFarben.add(zellen[x][y]);
            	}
            }
        }
        
        for(int i = 0; i<8; i++){
        	for(int j = 0; j<2; j++)
        		for(int k = 0; k<2; k++){
        			JLabel neueZelle3 = new JLabel("");
        			zellen3[j][k] = neueZelle3;
        			zellen3[j][k].setIcon(new ImageIcon(MasterMind.class.getResource("EvalPeg_0.png")));
        			zellen2[i][0].add(zellen3[j][k]);
        		}
        }

mastermindstatus.jpg
 

Marco13

Top Contributor
Im Zweifelsfall kannst du dem Panel, wo die Pegs drin sind, eine EmptyBorder geben
panel.setBorder(BorderFactory.createEmptyBorder(0,10,0,0));
oder so.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B JFrame immer an gleicher stelle auf anderem Frame AWT, Swing, JavaFX & SWT 5
D 3D-Grafik Erstellen vieler gleicher Würfel AWT, Swing, JavaFX & SWT 5
M gleicher TableCellRenderer für mehrere unterschiedliche Tabellen AWT, Swing, JavaFX & SWT 5
K JLayeredPane Elemente auf gleicher Position AWT, Swing, JavaFX & SWT 7
F BoxLayout mit gleicher größe AWT, Swing, JavaFX & SWT 2
P GridBagLayout - zwei Spalten mit gleicher Größe AWT, Swing, JavaFX & SWT 11
M SWT SWT - Zwei Tabellen gleicher Größe AWT, Swing, JavaFX & SWT 5
P Swing [gelöst/erledigt] Gleicher Code läuft unterschiedlich unter Linux und Windows AWT, Swing, JavaFX & SWT 5
V JComboBox gleicher Inhalt bedeutet gleicher Index? AWT, Swing, JavaFX & SWT 7
O Buttons gleich groß + gleicher Abstand AWT, Swing, JavaFX & SWT 3
S Unterschiedliche Optik trotz gleicher Look and Feel Code? AWT, Swing, JavaFX & SWT 11
L Swing TextPanel Schrift untereinander und auf einer Höhe AWT, Swing, JavaFX & SWT 3
Jose05 Javafx Label Höhe=Breite AWT, Swing, JavaFX & SWT 1
sascha-sphw JavaFX ListCell höhe verändert sich beim ändern der Text-Farbe AWT, Swing, JavaFX & SWT 14
X JavaFX AreaChart area höhe wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 2
R Java FX - Fxml - relative Größenangaben für Breite und Höhe einer TextArea AWT, Swing, JavaFX & SWT 8
J JavaFX TableView - Höhe der Zeilen AWT, Swing, JavaFX & SWT 3
B JFreeChart Gantt Höhe Tasks AWT, Swing, JavaFX & SWT 1
Z Java Draw -JFrame finde nicht die Mitte & höhe, breite AWT, Swing, JavaFX & SWT 7
S SWT TableCell mit Composite als Inhalt / Höhe der Cell/Row AWT, Swing, JavaFX & SWT 5
T Swing JScrollPane in JPanel - Breite dynamisch, Höhe fix - wie? AWT, Swing, JavaFX & SWT 2
A LayoutManager Höhe von NORTH beim BorderLayout ändern AWT, Swing, JavaFX & SWT 4
M Wie ermittele ich die Breite und Höhe meines Displays in Pixel AWT, Swing, JavaFX & SWT 3
T LayoutManager GridBagLayout - zwei jTable mit unterschiedlicher Höhe AWT, Swing, JavaFX & SWT 2
N Swing Optimale Höhe eine JTextPanes bei festgelegter Breite bestimmen AWT, Swing, JavaFX & SWT 23
P Höhe der TitleBar vom JFrame AWT, Swing, JavaFX & SWT 2
Landei Swing JToolbar: Textfelder mit normaler Höhe? AWT, Swing, JavaFX & SWT 2
T jpanel höhe netbeans.... AWT, Swing, JavaFX & SWT 5
J Problem mit der Höhe eines Panels AWT, Swing, JavaFX & SWT 11
G Swing Höhe des View eines JScrollPane fest auf Höhe des JScrollPane setzen! AWT, Swing, JavaFX & SWT 4
_dp jTextArea/jTextPanel Auto Höhe AWT, Swing, JavaFX & SWT 5
D JPanel höhe setzen AWT, Swing, JavaFX & SWT 2
H variable Höhe einer JTextArea (als Renderer/Editor) als Zelle einer JTable AWT, Swing, JavaFX & SWT 9
F Swing Höhe eines Headers einer JTable anpassen AWT, Swing, JavaFX & SWT 4
N Höhe einstellen JScrollPane AWT, Swing, JavaFX & SWT 3
F 2D-Grafik Problem mit höhe||breite eines JFrames AWT, Swing, JavaFX & SWT 4
G JTable Multiple Row Header Example - Probleme mit der Höhe der Zellen AWT, Swing, JavaFX & SWT 4
E Wie Breite und Höhe eines Panels festlegen? AWT, Swing, JavaFX & SWT 5
S Für Breite und Höhe werden 0.0 angezeigt AWT, Swing, JavaFX & SWT 2
C Swing JTextArea mit fester Breite und angepasster Höhe??? AWT, Swing, JavaFX & SWT 8
B Höhe eines Buttons festlegen AWT, Swing, JavaFX & SWT 7
G JList Höhe? AWT, Swing, JavaFX & SWT 2
P Breite und Höhe des contentPane abfragen AWT, Swing, JavaFX & SWT 3
Y Einzigartigkeit des GridBagLayout - individuelle Höhe/Breite AWT, Swing, JavaFX & SWT 4
S Tabelle soll sich auch in der Höhe resizen? AWT, Swing, JavaFX & SWT 4
T Breite des Containers ist gegeben - wie die Höhe berechnen? AWT, Swing, JavaFX & SWT 3
H JTabbedPane Höhe-Problem AWT, Swing, JavaFX & SWT 3
S [BorderLayout]WEST/EAST sollen über ganze Höhe gehen; AWT, Swing, JavaFX & SWT 3
G Linie nach Höhe einer Zahl zeichnen? AWT, Swing, JavaFX & SWT 3
A JTextFiled-Breite und Höhe ändern AWT, Swing, JavaFX & SWT 3
S Feste Breite und Höhe für einen formatierten Text. AWT, Swing, JavaFX & SWT 5
G Höhe eines JPanels ermittlen AWT, Swing, JavaFX & SWT 3
S JFrame Fenster höhe der Titelzeile? AWT, Swing, JavaFX & SWT 13
G Klasse Image - Höhe und Breite ermitteln AWT, Swing, JavaFX & SWT 12
B BorderLayout.WEST (JTree strecken in Höhe) AWT, Swing, JavaFX & SWT 2
D Jtable Header Höhe setzen ? AWT, Swing, JavaFX & SWT 2
B JEditorPane: Höhe für bestimmte Breite bestimmen AWT, Swing, JavaFX & SWT 4
M Höhe von eines Strings in Pixeln (nicht Höhe einer Zeile) AWT, Swing, JavaFX & SWT 12
K Höhe und Breite eines Panels im GridBagLayout ermitteln AWT, Swing, JavaFX & SWT 9
javasdann Höhe von Titlebar in jInternalFrame ändern AWT, Swing, JavaFX & SWT 5
J DefaultTableCellRenderer & Höhe AWT, Swing, JavaFX & SWT 3
D JLabel mit fester Breite und beliebiger Höhe AWT, Swing, JavaFX & SWT 4
O warum ist die Höhe meines JPanels 0? AWT, Swing, JavaFX & SWT 8
L wie kann man die Höhe und Breite von JList festlegen AWT, Swing, JavaFX & SWT 3
C Titel-Balken höhe?! AWT, Swing, JavaFX & SWT 4
C Höhe der Titelleiste in JInternalFrame AWT, Swing, JavaFX & SWT 4
M Elemente statisch anordnen AWT, Swing, JavaFX & SWT 4
G LayoutManager Panels anordnen über Schleifenvariablen AWT, Swing, JavaFX & SWT 7
DaCrazyJavaExpert Swing Komponenten genauer anordnen. AWT, Swing, JavaFX & SWT 13
B JTabbedPane Tabs anordnen AWT, Swing, JavaFX & SWT 2
T LayoutManager Anordnen der Elemente im GridBagLayout AWT, Swing, JavaFX & SWT 11
L Eigene Component anordnen AWT, Swing, JavaFX & SWT 7
M JavaFX Panes wie "children" anordnen AWT, Swing, JavaFX & SWT 10
S JLabel anordnen AWT, Swing, JavaFX & SWT 2
V Fenster in einem Fenster anordnen AWT, Swing, JavaFX & SWT 7
D Wie kann ich Buttons und Labels besser anordnen AWT, Swing, JavaFX & SWT 4
W JRadioButton sauber untereinander anordnen AWT, Swing, JavaFX & SWT 3
D AWT Knoten für Graphen kreisförmig anordnen AWT, Swing, JavaFX & SWT 5
W LayoutManager GridBag richtig nutzen - Komponenten richtig anordnen und automatisch vergrößern AWT, Swing, JavaFX & SWT 5
D Mit GridBayLayout Komponenten anordnen AWT, Swing, JavaFX & SWT 6
H Bilder in Array zufällig anordnen AWT, Swing, JavaFX & SWT 4
Ollek JDialog Koponenten neu anordnen AWT, Swing, JavaFX & SWT 3
L JPanel Formen paralell anordnen AWT, Swing, JavaFX & SWT 9
S Anordnen von Buttons im BorderLayout AWT, Swing, JavaFX & SWT 6
A Gridlayout Vertikal anordnen AWT, Swing, JavaFX & SWT 6
J SWT 4 Objekte auf einem Composite anordnen AWT, Swing, JavaFX & SWT 5
P Buttons anordnen AWT, Swing, JavaFX & SWT 8
W Panels vertikal anordnen AWT, Swing, JavaFX & SWT 10
chik Button beschriften und Farbe zufällig anordnen AWT, Swing, JavaFX & SWT 2
K Zwei Panels zentriert anordnen AWT, Swing, JavaFX & SWT 3
M Fenster Windows-Like anordnen AWT, Swing, JavaFX & SWT 2
0 Bilder auf einem Grid anordnen? AWT, Swing, JavaFX & SWT 9
GilbertGrape Wie Panel anordnen? Welches Layout? AWT, Swing, JavaFX & SWT 7
T Komponenten im JPanel linksbündig anordnen? AWT, Swing, JavaFX & SWT 5
W Zeilenweises Anordnen von Komponenten AWT, Swing, JavaFX & SWT 3
T Frage zum Komponenten anordnen AWT, Swing, JavaFX & SWT 4
K Icon und Text auf JButton anordnen AWT, Swing, JavaFX & SWT 2
G Inhalt von JTable mittig anordnen AWT, Swing, JavaFX & SWT 6
G Sinnvoll Swingkomponenten anordnen AWT, Swing, JavaFX & SWT 3
P GridbagLayout: Komponenten anordnen mit Freiraum AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben