Originariamente inviato da oronze
il problema è che pannello riga occupa 1/2 dell'altezza disponibile e tutta la larghezza...
ovviamente se al posto di pannello Riga aggiungo 2 JButton li trovo posizionati correttamente secondo il BoxLayout....
come posso fare?
La questione è che BoxLayout rispetta anche il "maximum size" dei componenti. E un JPanel per default ha un maximum size enorme.

Vedi se così inizia a piacerti di più (e nota le ultime 2 righe del costruttore di PannelloRiga):
codice:
import java.awt.*;
import javax.swing.*;

public class TestFrame extends JFrame {
    public TestFrame() {
        super("Test");
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setSize(500, 300);

        JTabbedPane tabbed = new JTabbedPane();

        JPanel tabPanel = new JPanel(new GridLayout(1, 1));
        JPanel internalPanel = new JPanel();
        internalPanel.setLayout(new BoxLayout(internalPanel, BoxLayout.Y_AXIS));

        internalPanel.add(new PannelloRiga());
        internalPanel.add(new PannelloRiga());

        tabPanel.add(internalPanel);

        tabbed.addTab("one", tabPanel);
        getContentPane().add(tabbed);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new TestFrame().setVisible(true);
            }
        });
    }
}

class PannelloRiga extends JPanel {
    public PannelloRiga() {
        super(new FlowLayout(FlowLayout.LEFT));
        add(new JLabel("etichetta"));
        add(new JTextField(20));
        setMaximumSize(getPreferredSize());
        setAlignmentX(Component.LEFT_ALIGNMENT);
    }
}
Però prova a ridimensionare la finestra che sia piccola, vedi che i text field vanno "a capo" (dovuto al FlowLayout) ma sono "troncati" (dovuto al maximum size).