Ho un jframe con una status bar
Quando ridimensiono il frame in larghezza e lo faccio diventare molto stretto, i dati sulla statusbar si sovrappongono
La statusbar è formata da 6 jlabel

Io vorrei che i dati che non possono essere visualizzati perchè il frame è troppo stretto, scomparissero 1 alla volta (più l'utente restringe il frmae più jlabel dovrebbero scomparire) e non si sovrapponessero diventando illeggibili come fa attualmente

Posto il codice compilante, sapete dirmi dov'è il problema?

THX

codice:
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;

public class StatusBar extends JPanel {

	private JLabel userJLabel;
	private JLabel groupJLabel;
	private JLabel serverJLabel;
	private JLabel statusJLabel;
	private JLabel versionJLabel;

	public StatusBar() {
		userJLabel = new JLabel("LABEL UNO");	
		groupJLabel = new JLabel("LABEL DUE");
		serverJLabel = new JLabel("LABEL TRE");	
		statusJLabel = new JLabel("LABEL QUATTRO");
		versionJLabel = new JLabel("LABEL CINQUE");

		//create border
		BevelBorder loweredBevelBorder1 = (BevelBorder) BorderFactory.createLoweredBevelBorder();
		
		//set border
		userJLabel.setBorder(loweredBevelBorder1);
		groupJLabel.setBorder(loweredBevelBorder1);
		serverJLabel.setBorder(loweredBevelBorder1);
		statusJLabel.setBorder(loweredBevelBorder1);
		versionJLabel.setBorder(loweredBevelBorder1);

		//set statusBar layout
		this.setLayout(new GridBagLayout());
		GridBagConstraints c = new GridBagConstraints();

		c.weightx = 0;
		c.gridx = 0;
		c.gridy = 0;
		c.fill = GridBagConstraints.NONE;
		this.add(userJLabel, c);

		c.weightx = 0;
		c.gridx = 1;
		c.gridy = 0;
		c.fill = GridBagConstraints.NONE;
		this.add(groupJLabel, c);

		c.weightx = 0;
		c.gridx = 2;
		c.gridy = 0;
		c.fill = GridBagConstraints.NONE;
		this.add(serverJLabel, c);

		//non rimuovere il carattere di spazio altrimenti la statusBar non viene visualizzata correttamente
		//se l'utente diminuisce le dimensioni del JFrame dello studio
		JLabel emptyLabel = new JLabel(" ");	
		//emptyLabel.setPreferredSize(new Dimension(30, 23));	
		emptyLabel.setBorder(loweredBevelBorder1);
		c.weightx = 1;
		c.gridx = 3;
		c.gridy = 0;
		c.fill = GridBagConstraints.HORIZONTAL;
		this.add(emptyLabel, c);

		c.weightx = 0;
		c.gridx = 4;
		c.gridy = 0;
		c.fill = GridBagConstraints.NONE;
		this.add(statusJLabel, c);
		
		c.weightx = 0;
		c.gridx = 5;
		c.gridy = 0;
		c.fill = GridBagConstraints.NONE;
		this.add(versionJLabel, c);		
		
	}
	
	public static void main (String[] args) {
		JFrame frame = new JFrame("PROVA");
		frame.getContentPane().setLayout(new BorderLayout());
		frame.getContentPane().add(new JTextArea("bla bla bla"), BorderLayout.CENTER);
		frame.getContentPane().add(new StatusBar(), BorderLayout.SOUTH);
		frame.setSize(800, 600);
		frame.setVisible(true);
	}


}