Qui sto allegando la parte del layout per il pannello relativo ai clienti (Pogramma gestionale):
codice:
Box bh1=Box.createHorizontalBox();
		bh1.add(insCliente);
		bh1.add(visCliente);
		bh1.setBorder(BorderFactory.createTitledBorder("Area Clienti"));
		final Box bv2=Box.createVerticalBox();
		insCliente.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				Component comp[]=bv2.getComponents();
				int count=bv2.getComponentCount();
				for(int i=0;i<count;i++){
					bv2.remove(comp[i]);
				}
				Box bhNome=Box.createHorizontalBox();
				bhNome.add(nomeLab);
				bhNome.add(nomeTf);
				Box bhCognome=Box.createHorizontalBox();
				bhCognome.add(cognomeLab);
				bhCognome.add(cognomeTf);
				Box bhIndirizzo=Box.createHorizontalBox();
				bhIndirizzo.add(indirizzoLab);
				bhIndirizzo.add(indirizzoTf);
				Box bhCittà=Box.createHorizontalBox();
				bhCittà.add(cittàLab);
				bhCittà.add(cittàTf);
				Box bhTel=Box.createHorizontalBox();
				bhTel.add(telLab);
				bhTel.add(telTf);
				Box bhCell=Box.createHorizontalBox();
				bhCell.add(cellLab);
				bhCell.add(cellTf);
				Box bhFax=Box.createHorizontalBox();
				bhFax.add(faxLab);
				bhFax.add(faxTf);
				Box bhCodFisc=Box.createHorizontalBox();
				bhCodFisc.add(codFiscLab);
				bhCodFisc.add(codFiscTf);
				Box bhPartIva=Box.createHorizontalBox();
				bhPartIva.add(partIvaLab);
				bhPartIva.add(partIvaTf);
				bv2.add(Box.createVerticalStrut(10));
				bv2.add(bhNome);
				bv2.add(Box.createVerticalStrut(10));
				bv2.add(bhCognome);
				bv2.add(Box.createVerticalStrut(10));
				bv2.add(bhIndirizzo);
				bv2.add(Box.createVerticalStrut(10));
				bv2.add(bhCittà);
				bv2.add(Box.createVerticalStrut(10));
				bv2.add(bhTel);
				bv2.add(Box.createVerticalStrut(10));
				bv2.add(bhCell);
				bv2.add(Box.createVerticalStrut(10));
				bv2.add(bhFax);
				bv2.add(Box.createVerticalStrut(10));
				bv2.add(bhCodFisc);
				bv2.add(Box.createVerticalStrut(10));
				bv2.add(bhPartIva);
				bv2.add(Box.createVerticalStrut(10));
				bv2.setBorder(BorderFactory.createTitledBorder("Compila i campi"));
				memCliente.addActionListener(new ActionListener(){
					public void actionPerformed(ActionEvent a){
						Database db=new Database("lormad","root","");
						if(db.connetti()){
							String query="INSERT into Clienti VALUES ('"+nomeTf.getText()+"','"+
									cognomeTf.getText()+"','"+indirizzoTf.getText()+"','"+
									cittàTf.getText()+"','"+telTf.getText()+"','"+
									cellTf.getText()+"','"+faxTf.getText()+"','"+
									codFiscTf.getText()+"','"+partIvaTf.getText()+"')";
							db.eseguiInserimento(query);
						}
					}
				});
				bv2.add(memCliente);
			}
		});
		visCliente.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				Component comp[]=bv2.getComponents();
				int count=bv2.getComponentCount();
				for(int i=0;i<count;i++){
					bv2.remove(comp[i]);
				}
			}
		});
		Box bv1=Box.createVerticalBox();
		bv1.add(bh1);
		bv1.add(Box.createVerticalStrut(20));
		bv1.add(bv2);
		add(bv1);
Il JTabbedPane è in una classe a parte che si occupa semplicemente di inizializzare i tab con i relativi pannelli e le immagini:

codice:
public TabPanel(){
		clientiPanel=new ClientiPanel();
		tb=new JTabbedPane();
		tb.setBorder(BorderFactory.createLineBorder(Color.black));
		setLayout(new BorderLayout()); 
	    setBorder(BorderFactory.createEmptyBorder(3,4,3,4)); 
	    tb.addTab("Clienti",new ImageIcon("Clienti.jpg"),clientiPanel);
	    tb.addTab("Fornitori",new ImageIcon("Fornitori.jpg"),null);
	    tb.addTab("Magazzino",new ImageIcon("Magazzino.jpg"),null);
	    tb.addTab("Fatture",new ImageIcon("Fatture.jpg"),null);
	    add(BorderLayout.CENTER,tb);
	}