Problema com layout: Clonar a janela Conexão Local do Windows

Oi pessoal, estou tentando criar uma janela idêntica à da “Conexão Local” do Windows (img abaixo). Já adicionei o JTabbedPane, os JLabels, os JButtons e os JPanels. Porém, estou tendo dificuldade em organizar os controles dentro do primeiro tab/panel. Gostaria que alguém me ajudasse nisso.

No momento, minha janela está assim (note que os botões Propriedades e Desabilitar ficaram escondidos!):

Abaixo segue meu código:

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;

public class MainWindow extends JFrame {
	
	public MainWindow(String title)
	{
		super(title);
		setLayout(new FlowLayout());

		// TabbedPane
		JTabbedPane tabpane = new JTabbedPane(JTabbedPane.TOP);
		
		JPanel panelGeral = new JPanel();
		panelGeral.setPreferredSize(new Dimension(350,300));
		JPanel panelSuporte = new JPanel();
		panelSuporte.setPreferredSize(new Dimension(350,300));
		
		tabpane.addTab("Geral", panelGeral);
		tabpane.addTab("Suporte", panelSuporte);
		
		// Panel/GroupBox: Conexão
		JPanel panelConn = new JPanel(new GridLayout(3,2));
		panelConn.setBorder(BorderFactory.createTitledBorder("Conexão"));
		panelConn.setPreferredSize(new Dimension(340,150));

		JLabel lblStatusFixed = new JLabel("Status:");
		JLabel lblDuracaoFixed = new JLabel("Duração:");
		JLabel lblVelocidadeFixed = new JLabel("Velocidade:");

		JLabel lblStatus = new JLabel("Conectado");
		JLabel lblDuracao = new JLabel("00:00:00");
		JLabel lblVelocidade = new JLabel("100,00 Mbps:");
		
		panelConn.add(lblStatusFixed);
		panelConn.add(lblStatus);
		panelConn.add(lblDuracaoFixed);
		panelConn.add(lblDuracao);
		panelConn.add(lblVelocidadeFixed);
		panelConn.add(lblVelocidade);

		// Panel/GroupBox: Atividade
		JPanel panelAtividade = new JPanel();
		panelAtividade.setBorder(BorderFactory.createTitledBorder("Atividade"));
		panelAtividade.setPreferredSize(new Dimension(340, 150));

		JLabel lblEnviadosFixed = new JLabel("Enviados");
		JLabel lblEnviados = new JLabel("0 bytes");
		JLabel lblRecebidosFixed = new JLabel("Recebidos");
		JLabel lblRecebidos = new JLabel("0 bytes");
		panelAtividade.add(lblEnviadosFixed);
		panelAtividade.add(lblEnviados);
		panelAtividade.add(lblRecebidosFixed);
		panelAtividade.add(lblRecebidos);
		
		// Botões: Propriedades e Desabilitar
		JButton btnPropriedades = new JButton("Propriedades");
		JButton btnDesabilitar = new JButton("Desabilitar");

		// Adiciona os componentes do panel Geral
		panelGeral.add(panelConn, BorderLayout.NORTH);
		panelGeral.add(panelAtividade, BorderLayout.CENTER);
		panelGeral.add(btnPropriedades, BorderLayout.SOUTH);
		panelGeral.add(btnDesabilitar, BorderLayout.AFTER_LINE_ENDS);
		
		
		getContentPane().add(tabpane);
		
		JButton btnFechar = new JButton("Fechar");
		
		getContentPane().add(btnFechar);
		
		pack();
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setSize(370,440);
		setVisible(true);
	}


	public static void main(String[] args) {
		MainWindow mw = new MainWindow("Status de Conexão local");
	}
	
}

Quais controles?