Buon giorno ho bisogno di aiuto e non so come fare bene,sto provando un po di layout,La finestra dovrebbe essere fatta cosi, a sinistra un pannello di sinistra con un jtable , un pannello di destra dove fare delle piccole statistiche, dove andranno inserite una ricerca da data a data e qualche Button, Poi pensavo sotto la Jtable di mettere u'altro pannello con dei Button per salvare le modifiche che andranno fatte su di essa e altri bottoni per altro, ma non so se sto facendo beme,Ho impostato il Layout del Frame come un Border Layout , e aggiunto il pannello di sinistra in CENTER mentre il pannello di destra sul EAST,poi ho settato il layout del pannello right come un GridBagLayout però non riesco a metterli bene in ordine sono sfalsati.Mentre sotto La Jtable non so come fare,vi posto il codice

codice:
public class Frame1 extends javax.swing.JFrame{
	
	
	Connection conn = null;
    ResultSet rs = null;
    PreparedStatement pst = null; 
	
    private JPanel  left,right,sottoL;
    public JTable tabella_busta;
    private JButton mostra,prova;
    private JLabel dataDa;
	
    private JLabel  operatore;  

	public Frame1(){
		
		super ("Riparazione Orologi");
		this.setSize(new Dimension(1027,768));
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.setLayout(new BorderLayout());
		conn = ConnessioneDb.connectDb();
		

		initComponents();
		Popola_Tabella();
	
		
		
	}
	
	
	private void initComponents() {
		
		//pannello di sinistra
		left = new JPanel();
		TitledBorder titoloPLeft = new TitledBorder("Operazioni Buste");
		left.setPreferredSize(new Dimension(400,30));
		left.setLayout(new GridLayout(1,2));
		left.setBorder(titoloPLeft);
		
		//pannello di destra
		right = new JPanel();
		TitledBorder titoloPRight = new TitledBorder("Statistiche Buste");
		right.setLayout( new GridBagLayout());
		GridBagConstraints c = new GridBagConstraints ();
		right.setBorder(titoloPRight);
		
		
		//pannello sotto left
		
		sottoL = new JPanel();
		TitledBorder sotto = new TitledBorder("Comandi");
		sottoL.setPreferredSize(new Dimension(400,30));
		sottoL.setLayout(new GridLayout(1,2));
		sottoL.setBorder(sotto);
		//left.add(sottoL);
		
		//Bottoni
		mostra = new JButton("Mostra");
		c.fill = GridBagConstraints.HORIZONTAL;
		c.weightx = 0.2;
		c.gridx = 1;
		c.gridy = 0;
		right.add(mostra, c);
		mostra.setPreferredSize(new Dimension (100,20));
		
		prova = new JButton("Prova");
		c.fill = GridBagConstraints.HORIZONTAL;
		c.weightx = 0.5;
		c.gridx = 1;
		c.gridy = 0;
		right.add(mostra, c);
		mostra.setPreferredSize(new Dimension (100,20));
		
		//Etichette
		dataDa = new JLabel("Data da");
		dataDa.setPreferredSize(new Dimension (100,20));
		c.fill = GridBagConstraints.HORIZONTAL;
		//c.weightx = 0.5;
		c.gridx = 0;
		c.gridy = 1;
		right.add(dataDa, c);
		dataDa.setPreferredSize(new Dimension(200,20));
		//right.add(dataDa,new GridLayout(1,1));
		
		
		//Metto i Pannelli nel contenitore root
		Container MainContenitore = this.getContentPane();
		MainContenitore.setLayout(new BorderLayout());
		MainContenitore.add(left,BorderLayout.CENTER);
		MainContenitore.add(right,BorderLayout.EAST);
	}
		
		
		//Creo una Jtable Per le buste
		
		private void Popola_Tabella(){
		 try {
             String sql=  "select * from Buste";
             pst = conn.prepareStatement(sql);
             rs = pst.executeQuery();
             
                	    
             ResultSetMetaData rsmd = rs.getMetaData();
             int numColonne = rsmd.getColumnCount();
             Vector nomeColonne = new Vector();
             //for (int nr=0; nr<numColonne; nr++)
                    nomeColonne.add("Codice");
             		nomeColonne.add("CodiceBusta");
                    nomeColonne.add("Prezzo costo");
                    nomeColonne.add("Prezzo");
                    nomeColonne.add("Data");
                    nomeColonne.add("Operatore");


             
             Vector <Vector> datiRighe = new Vector <Vector>();
             while (rs.next()){
                    Vector riga = new Vector(); 
                    for (int nr=0; nr<numColonne; nr++) {
                        riga.add(rs.getObject(nr+1));
                    }
             datiRighe.add(riga);
             }

				tabella_busta=new JTable(datiRighe,nomeColonne);
				JScrollPane p = new JScrollPane(tabella_busta);//Metto la tabella in un scrollPane
				left.add(p);//La aggingo al pannello di sinistra
				
                
                
                  		
         } catch (SQLException e) {
             JOptionPane.showMessageDialog(null, e);
             
         }
	
		
	}
	
	public static void main(String[] args) {
	new Frame1().setVisible(true);;
	
		
		
		
	}
}