Absatz in JTabbedPane

Wollte fragen ob sich jemand den Absatz im 2. Fenster des JTabbedPane erklären kann?
hier ist auch noch der Code vom 2.Panel.

package sub_gui;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BoxLayout;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;

import main.MainClass;



public class StepTwoPane extends JPanel {
	
	private JPanel stepTwoPanel;
	private JScrollPane jsp;
	
	public StepTwoPane(){
		this.setLayout(new BoxLayout(this,BoxLayout.X_AXIS));
		//1.Panel
		jsp=new JScrollPane();
		
		
		
		stepTwoPanel=new JPanel();
		stepTwoPanel.setAlignmentY(TOP_ALIGNMENT);
		stepTwoPanel.setAlignmentX(LEFT_ALIGNMENT);
		stepTwoPanel.setLayout(new BoxLayout(stepTwoPanel, BoxLayout.Y_AXIS));
		StdHeaderLabel directoryLayerLabel=new StdHeaderLabel();
		directoryLayerLabel.setIcon(new ImageIcon("img/bookmarks-organize.png"));
		directoryLayerLabel.setText("Angabe von Ebenen des Inhaltsverzeichnisses");
		directoryLayerLabel.setAlignmentX(LEFT_ALIGNMENT);
		stepTwoPanel.add(directoryLayerLabel);
		jsp.setMaximumSize(new Dimension(Toolkit.getDefaultToolkit().getScreenSize().width,Toolkit.getDefaultToolkit().getScreenSize().height/2));
		jsp.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
		stepTwoPanel.add(jsp);
		JButton addDirectoryLayerButton=new JButton();
		addDirectoryLayerButton.setIcon(new ImageIcon("img/dialog-more.png"));
		addDirectoryLayerButton.setText("Inhaltsebene hinzuf\u00FCgen");
		stepTwoPanel.add(addDirectoryLayerButton);
		
		JButton stepTwoButton=new JButton();
		stepTwoButton.setIcon(new ImageIcon("img/arrow-right-double.png"));
		stepTwoButton.setText("Weiter zu Schritt 3");
		stepTwoButton.setBackground(Color.GREEN);
		stepTwoButton.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				MainClass.getMainFrame().getTabbedPane().forward();
			}
		});
		stepTwoPanel.add(stepTwoButton);
		
		this.add(stepTwoPanel);
		JPanel helpPanel =new JPanel();
		StdInfoLabel sil1=new StdInfoLabel("Beispiel: Inhaltsebene 1-Buchbereiche, Inhaltsebene 2-Kapitel, Inhaltsebene 3-Unterkapitel,...");
		helpPanel.add(sil1);
		this.add(helpPanel);
		
		helpPanel.setLayout(new BoxLayout(helpPanel, BoxLayout.Y_AXIS));
		helpPanel.setAlignmentY(TOP_ALIGNMENT);
	}

}

Das dürfte an dem JScrollPane liegen, das du vor den Buttons dem Panel hinzufügts. Ein JScrollPane nimmt immer (auch wenn es leer ist) so viel Platz ein, wie möglich. Kann man auch an Hand des gezeichneten Border’s auf dem Bild erkennen.

Selbst wenn ich das JScrollPane verkleinere besteht immer noch dieser nervige Absatz!

Nochmal Klartext: du kannst das JScrollPane nicht sinnvoll “kleiner” machen. Wenn das JSP leer ist, wird da immer ein Absatz sein, denn das JSP nimmt immer an Platz ein, auch wenn es leer ist. Wenn das die halbe Bildschirmhöhe ist, dann wird der Absatz immer so groß sein, wenn es weniger ist dann eben weniger.

Du kannst versuchen das hinzubiegen, indem du getPreferredSize und getMaximumSize von JScrollPane überschreibst und dann in Abhängigkeit von der Größe der View das berechnest, aber anders wirds nicht gehen.

EDIT: oder mal mit nem anderen LayoutManager (z.B GridBag) probieren, bei Swing weiß man ja nie.

[quote=Kevin94]EDIT: oder mal mit nem anderen LayoutManager (z.B GridBag) probieren,[/quote]Wenn er sich über die Struktur seiner Komponenten nicht im Klaren ist wird auch ein ander Layoutmanager nicht helfen.

bye
TT

Wie hast du es denn „kleiner“ gemacht? Sowas wie setSize bringt halt nichts, da haut der LayoutManager dazwischen. Ggf. solltest do genauer beschreiben, wie das Ergebnis aussehen soll. Dort ist eben das JScrollPane. Was soll dort stattdessen sein?