GUI-Elemente untereinander platzieren

Status
Nicht offen für weitere Antworten.

jack26

Mitglied
Hallo,

ich habe folgenden Code:
Code:
package Aufgabe4;
import java.awt.*;
import javax.swing.*;

import java.awt.event.*;
import java.awt.ActiveEvent;

public class GUIaufgabe extends JFrame {
	
	String[] variante = {"Joint Stereo", "Mono"};
	
	JLabel überschrift = new JLabel("MP3 Conversion Parameters");
	JLabel titel = new JLabel("Titel: ");
	JTextField textfeldTitel = new JTextField(20);
	JLabel bitrate = new JLabel("Bitrate: ");
	JTextField textfeldBitrate = new JTextField(5);
	JCheckBox vbr = new JCheckBox("VBR");
	JLabel channelMode = new JLabel("Channel Mode: ");
	JComboBox comboBoxChannelMode = new JComboBox(variante);
	JButton conversion = new JButton("Start Conversion");
	JButton cancel = new JButton("Cancel");
	
	
	public GUIaufgabe()	{
		super("GUI-Aufgabe");
		
		JPanel panel1 = new JPanel();
		panel1.setLayout(new FlowLayout());
		überschrift.setHorizontalAlignment(JLabel.CENTER);
		panel1.add(überschrift);
		
		JPanel panel2 = new JPanel();
		panel2.setLayout(new GridLayout(0,2));
		titel.setHorizontalAlignment(JLabel.RIGHT);
		panel2.add(titel);
		panel2.add(textfeldTitel);
		
		JPanel panel3 = new JPanel();
		panel3.setLayout(new FlowLayout());		
		bitrate.setHorizontalAlignment(JLabel.RIGHT);
		
		panel3.add(bitrate);
		panel3.add(textfeldBitrate);
		panel3.add(vbr);
				
		JPanel panel4 = new JPanel();
		panel4.setLayout(new GridLayout(0,2));
		channelMode.setHorizontalAlignment(JLabel.RIGHT);
		panel4.add(channelMode);
		panel4.add(comboBoxChannelMode);
		
		JPanel panel5 = new JPanel();
		panel5.setLayout(new FlowLayout());
		panel5.add(conversion);
		panel5.add(cancel);

		setLayout(new GridLayout(5,3));
		
		add(panel1);
		add(panel2);
		add(panel3);
		add(panel4);
		add(panel5);
		
		
		
	
	}

	public static void main(String[] args) {

		GUIaufgabe myWindow = new GUIaufgabe();
		myWindow.setVisible(true);
		myWindow.setSize(300,200);
}

}

Kann mir bitte jemand sagen, wie ich es hinbekomme, dass mein panel3 direkt unter meinem panel2 ist und nicht etwas links davon?

Danke
Gruß
 
wenns ein FlowLayout sein soll, dann versuch mal

Code:
      FlowLayout flow = new FlowLayout();
      flow.setAlignment(FlowLayout.RIGHT);
      panel3.setLayout(flow);
 
Code:
setLayout(new GridLayout(5,3));
Einfach in
Code:
setLayout(new GridLayout(5,1));
abändern. Dann müsste es gehen.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben