Layout Problem

Hallo Zusammen,

das Bilder mehel als Worte sagen, poste ist die IST-Situation und die mit Photoshop erstellte SOLL-Variante.

Momentan sieht meine Anwendung folgendermaßen aus:
ist.jpg

Mein Quelltext:
Java:
import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.Popup;
import javax.swing.PopupFactory;

public class Test {
	
	private JFrame popupFrame;

	public Test() {
		popupFrame = new JFrame("Beispiel 1");
		popupFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		popupFrame.setSize(470, 610);
		PopupFactory factory = PopupFactory.getSharedInstance();

		JPanel panel = getProjectPanel();
		
		Popup popup = factory.getPopup(popupFrame, panel, 0, 0);
		popup.show();
		
		popupFrame.setVisible(true);
	}
	
	public JPanel getProjectPanel() {
		
		JPanel projectPanel = new JPanel();
		
		JPanel labelButtonPanel = new JPanel();
		labelButtonPanel.setLayout(new BoxLayout(labelButtonPanel, BoxLayout.Y_AXIS));
		
		FlowLayout flow = new FlowLayout();
		JPanel row1 = new JPanel();
		row1.setLayout(flow);
		JLabel label1 = new JLabel("Label 1");
		JButton button1 = new JButton("Button 1");
		row1.add(label1);
		row1.add(button1);
		
		JPanel row2 = new JPanel();	
		JLabel label2 = new JLabel("Label 2");
		JButton button2 = new JButton("Button 2");
		row2.add(label2);
		row2.add(button2);
		
		labelButtonPanel.add(row1);
		labelButtonPanel.add(row2);
		
		JScrollPane scrollPane = new JScrollPane(labelButtonPanel);
		scrollPane.setPreferredSize(new Dimension(445, 495));
		
		projectPanel.add(scrollPane);		
		return projectPanel;
	}
	
	
	public static void main(String[] args) {
		new Test();
	}
	
}

Die Werte (Label) die angezeigt werden, werden später aus der DB ausgelesen.

Das Ganze sollte eigentlich folgendermaße aussehen:
soll.jpg

Diese Grafik habe ich mit Photoshop nach meine Vorstellung modifiziert.

Würde mich über jede Hilfe freuen!

Schöne Grüße,
Angelika
 
Hi,
du kannst du mehrere Layouts verschachteln. Z.B. ein GridLayout - mit einer Spalte - als Basis nehmen. Darauf fügst du dann pro Zeile ein JPanel hinzu. Diesem JPanel weist du dann ein BorderLayout zu. Das JLabel setzt du dann in dem JPanel mit BorderLayout.CENTER in die Mitte und den JButton setzt du mit BorderLayout.EAST nach rechts.

Gruß

Fabio
 

Neue Beiträge

Zurück