Ciao a tutti
Non riesco a capire dov'è l'errore la JTable invece di essere visualizzata in fondo, viene visualizzata su!

codice:
import java.io.*;
import javax.swing.*;
import javax.swing.table.*; 
import java.awt.*;
import java.awt.event.*;

public class frm_Elenco_Visualizza extends JPanel{
	
private frm_Main mainFrame;
private JDialog myDialog; 
JPanel p;
//JTable tabella_Liste;

	public frm_Elenco_Visualizza(frm_Main fm, String TITOLO, boolean MODAL){
		try{			
      			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
				MyActionListener ac = new MyActionListener();
				
				p = new JPanel(new GridBagLayout());
				GridBagConstraints c = new GridBagConstraints();				
				   			
			//Aggiungo la ToolBar
				c.gridx = 0;
				c.gridy = 0;
				c.fill = GridBagConstraints.HORIZONTAL;
			
				JToolBar t = new JToolBar(JToolBar.HORIZONTAL);				
				JButton Bt_Chiudi = new JButton("Chiudi");
				Bt_Chiudi.addActionListener(ac);
				t.add(Bt_Chiudi);				
				JButton Bt_Nuovo = new JButton("Nuovo elenco");
				Bt_Nuovo.addActionListener(ac);				
				t.add(Bt_Nuovo);				
				p.add(t,c);

			//Utente
				c.gridy = 1;
				c.fill = GridBagConstraints.NONE;
				c.gridheight = 1;
				c.anchor = GridBagConstraints.LINE_START;
				JLabel Lbl_Utente = new JLabel("Utente:");
				Lbl_Utente.setFont(new Font("Verdana", Font.PLAIN, 11));
				p.add(Lbl_Utente,c);
				
				c.gridy = 2;
				c.gridwidth = 3;
				JTextField Txt_Utente = new JTextField(25);
				Txt_Utente.setFont(new Font("Verdana", Font.PLAIN, 11));
				p.add(Txt_Utente,c);

			//Percorso
				c.gridy = 3;
				c.gridwidth = 2;				
				JLabel Lbl_Percorso= new JLabel("Percorso:");
				Lbl_Percorso.setFont(new Font("Verdana", Font.PLAIN, 11));
				p.add(Lbl_Percorso,c);
				
				c.gridy = 4;
				c.gridwidth = 3;
				JTextField Txt_Percorso = new JTextField(40);
				Txt_Percorso.setFont(new Font("Verdana", Font.PLAIN, 11));
				p.add(Txt_Percorso,c);
				
			//Bottone
				c.gridy = 4;
				c.gridx = 3;
				c.gridwidth = 2;
				c.gridheight = 1;
				c.fill = GridBagConstraints.NONE;
				JButton Bt_Sfoglia = new JButton("Sfoglia");
				Bt_Sfoglia.setFont(new Font("Verdana", Font.PLAIN, 11));
				p.add(Bt_Sfoglia,c);					
				
			//CheckBox
				c.gridy = 5;
				c.gridx = 0;
				c.gridwidth = 2;
				c.gridheight = 1;
				JCheckBox Cb_Web = new JCheckBox("Sito internet");
				Cb_Web.setFont(new Font("Verdana", Font.PLAIN, 11));
				p.add(Cb_Web,c);				
				
			//Descrizione
				c.gridy = 6;
				c.gridwidth = 2;
				JLabel Lbl_Descrizione = new JLabel("Descrizione:");
				Lbl_Descrizione.setFont(new Font("Verdana", Font.PLAIN, 11));
				p.add(Lbl_Descrizione,c);
				
				c.gridy = 7;
				c.gridwidth = 5;
				c.gridheight = 2;
				JTextArea Txt_Descrizione = new JTextArea(3,50);
				Txt_Descrizione.setFont(new Font("Verdana", Font.PLAIN, 11));
				Txt_Descrizione.setLineWrap(true);
				JScrollPane pan = new JScrollPane(Txt_Descrizione);
				p.add(pan,c);		
			
			//Aggiungo la tabella			
				c.gridy = 9;
				c.gridx = 0;
				c.gridwidth = 4;
				c.gridheight = 3;
				//c.fill = GridBagConstraints.BOTH;
				//c.anchor = GridBagConstraints.LINE_START;
				Object[][] righe = caricaRighe();
				Object[] colonne = caricaColonne();
				JTable tabella_Liste = new JTable(righe, colonne);
				//tabella_Liste.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
				tabella_Liste.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
				tabella_Liste.setPreferredScrollableViewportSize(new Dimension(400,200));
				JScrollPane pt = new JScrollPane(tabella_Liste);				
				p.add(pt);
					

/*   				
   				TableColumn column = null;
					for (int i = 0; i < 2; i++) {
    					column = tbTable0.getColumnModel().getColumn(i);
    						if (i == 0) {
        						column.setPreferredWidth(100); //sport column is bigger
    						} else {
        						column.setPreferredWidth(350);
    						}
					}
*/
				this.mainFrame = fm;
			   	myDialog = new JDialog(fm,TITOLO,MODAL); 
				myDialog.setContentPane(p);				 				
				myDialog.pack();	
				myDialog.setLocationRelativeTo(null);
				myDialog.setFont(new Font("Verdana", Font.PLAIN, 11));
   				myDialog.setVisible(true);      			
   		}
   		catch (Exception e){}
	}
	
	public Object[][] caricaRighe(){
		Object[][] righe = {{"utente", "c:prova.txt", "DESCRIZIONE"},
							 	 {"utente", "c:prova.txt", "DESCRIZIONE"}};
		return righe;
	}
	
	public Object[] caricaColonne(){
		Object[] colonne = {"Utente", "Percorso", "Descrizione"};
		return colonne;
	}
	
	public void visualizza(){
		frm_Elenco fe = new frm_Elenco(mainFrame,"TITOLO", true);
	}
	
	class MyActionListener implements ActionListener{
		public void actionPerformed(ActionEvent e){
			String bottone = e.getActionCommand();
				if (bottone.equals("CHIUDI")){
					myDialog.dispose();
				}	
				if (bottone.equals("NUOVO ELENCO")){
					visualizza();
				}									
		}
	} 	
		
}
Guardate che schifo che viene fuori, ho allegato la maschera che viene visualizzata!
Aiutatemi, non riesco a far vedere questa diavolo di JTable sotto tutto il resto degli oggetti.

Grazie