ma che brutto !!!!!

ho una finestra swing dove vengono visualizzati in base ad un filtro i file contenuti in una cartella...
il problema è che ogni volta che eseguo il filtro tramite pulsante, si vede un brutto brutto salto di pagina che si ricarica..

come posso fare per risolver ???

questo è il codice :

codice:
import javax.swing.DefaultListModel;
import javax.swing.JFrame;
import javax.swing.JList;

import sun.rmi.transport.Utils;

import java.io.*;
import java.util.*;
import java.io.FilenameFilter;


//  DEFINIZIONE DELLA CLASSE
public class SpostaFile extends JFrame {

	private javax.swing.JPanel jContentPane = null;
	private javax.swing.JPanel jPanelFiltro = null;
	private javax.swing.JPanel jPanelLista = null;
	private javax.swing.JButton jButton = null;

	private javax.swing.JLabel jLabel1 = null;
	private javax.swing.JLabel jLabel2 = null;
	private javax.swing.JTextField jTextField_DirFrom = null;
	private javax.swing.JLabel jLabel3 = null;
	private javax.swing.JTextField jTextField_Pattern = null;
	private javax.swing.JButton jButton1 = null;
	private javax.swing.JTextField jTextField_DirTo = null;
	private javax.swing.JTextArea jTextArea = null;

	// File temporaneo di appoggio
	private static File fileTemp;
	// Directory origine con i file da copiare
	private static String fromDirDefault = "c:/1";
	// Directory destinazione in cui copiare i file
	private static String toDirDefault = "c:/2";
	// Pattern
	private static String patternDefault = "txt;pdf;";
	

	public void riempiLista(){
		int i;
		int a;
		//RECUPERO DEL PATTERN SPLITTATO
		StringTokenizer	 st = new StringTokenizer(jTextField_Pattern.getText(), ";");
		String [] pattern = new String[st.countTokens()];
		i = 0;
		while (st.hasMoreTokens()) {
			pattern[i] = st.nextToken();
			i++;
		}
		
		
		// CARTELLA ORIGINE
		File fromDir = new File(jTextField_DirFrom.getText());
		// TUTTI I FILES CONTENUTI IN CARTELLA ORIGINE
		File[] filesInDir = fromDir.listFiles();
		// SVUOTO LA LISTA
		jTextArea.removeAll();
		// FACCIO SCORRERE TUTTI I FILE
		for(i=0;i<filesInDir.length;i++){
			// PER OGNUNO CERCO SE LA SUA ESTENSIONE è NEL PATTERN
			for(a=0;a<pattern.length;a++){
				if (filesInDir[i].getName().endsWith("." + pattern[a])){
					jTextArea.append(filesInDir[i].getName()+ "\n");
					break;
				}
				
			}
		}
		

	}	
	
	// FILES FILTRATI
	class ExtensionFilter implements FilenameFilter {
		private String extension;
		public ExtensionFilter( String extension ) {
		  this.extension = extension;             
		}
		public boolean accept(File dir, String name) {
		  return (name.endsWith(extension));
		}
	}	
	
	
	// METODO PRINCIPALE ESECUZIONE PROGRAMMA
	public static void main(String[] args) {
		SpostaFile classePrincipale = new SpostaFile();
		classePrincipale.riempiLista();
	}

	// METODO COSTRUTTORE
	public SpostaFile() {
		super();
		initialize();
	}
	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(398, 448);
		this.setContentPane(getJContentPane());
		this.setVisible(true);
		this.setTitle("  SpostaFile.java");
		}
	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private javax.swing.JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new javax.swing.JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getJPanelLista(), null);
			jContentPane.add(getJPanelFiltro(), null);
		}
		return jContentPane;
	}
	/**
	 * This method initializes jPanelFiltro
	 * 
	 * @return javax.swing.JPanel
	 */
	private javax.swing.JPanel getJPanelFiltro() {
		if(jPanelFiltro == null) {
			jPanelFiltro = new javax.swing.JPanel();
			jPanelFiltro.setLayout(null);
			jPanelFiltro.add(getJLabel1(), null);
			jPanelFiltro.add(getJLabel2(), null);
			jPanelFiltro.add(getJLabel3(), null);
			jPanelFiltro.add(getJTextField_DirFrom(), null);
			jPanelFiltro.add(getJTextField_DirTo(), null);
			jPanelFiltro.add(getJTextField_Pattern(), null);
			jPanelFiltro.add(getJButton1(), null);
			jPanelFiltro.setSize(380, 139);
			jPanelFiltro.setBorder(javax.swing.BorderFactory.createTitledBorder(null, " Opzioni cartella ", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", java.awt.Font.BOLD, 12), new java.awt.Color(102,102,153)));
			jPanelFiltro.setPreferredSize(new java.awt.Dimension(280,70));
			jPanelFiltro.setLocation(5, 5);
		}
		return jPanelFiltro;
	}
	/**
	 * This method initializes jPanelLista
	 * 
	 * @return javax.swing.JPanel
	 */
	private javax.swing.JPanel getJPanelLista() {
		if(jPanelLista == null) {
			jPanelLista = new javax.swing.JPanel();
			java.awt.FlowLayout layFlowLayout2 = new java.awt.FlowLayout();
			layFlowLayout2.setAlignment(java.awt.FlowLayout.RIGHT);
			jPanelLista.setLayout(layFlowLayout2);
			jPanelLista.add(getJTextArea(), null);
			jPanelLista.add(getJButton(), null);
			jPanelLista.setSize(380, 261);
			jPanelLista.setPreferredSize(new java.awt.Dimension(380,200));
			jPanelLista.setLocation(5, 154);
			jPanelLista.setBorder(javax.swing.BorderFactory.createTitledBorder(null, " Elenco file in cartella ", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", java.awt.Font.BOLD, 12), new java.awt.Color(102,102,153)));
		
			
		
		}
		return jPanelLista;
	}
	/**
	 * This method initializes jButton
	 * 
	 * @return javax.swing.JButton
	 */
	private javax.swing.JButton getJButton() {
		if(jButton == null) {
			jButton = new javax.swing.JButton();
			jButton.setText("Sposta file");
			jButton.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
		}
		return jButton;
	}
	/**
	 * This method initializes jLabel1
	 * 
	 * @return javax.swing.JLabel
	 */
	private javax.swing.JLabel getJLabel1() {
		if(jLabel1 == null) {
			jLabel1 = new javax.swing.JLabel();
			jLabel1.setSize(76, 20);
			jLabel1.setText("Origine");
			jLabel1.setLocation(11, 24);
		}
		return jLabel1;
	}
	/**
	 * This method initializes jLabel2
	 * 
	 * @return javax.swing.JLabel
	 */
	private javax.swing.JLabel getJLabel2() {
		if(jLabel2 == null) {
			jLabel2 = new javax.swing.JLabel();
			jLabel2.setSize(76, 20);
			jLabel2.setText("Destinazione");
			jLabel2.setLocation(11, 52);
		}
		return jLabel2;
	}
	/**
	 * This method initializes jTextField_DirFrom
	 * 
	 * @return javax.swing.JTextField
	 */
	private javax.swing.JTextField getJTextField_DirFrom() {
		if(jTextField_DirFrom == null) {
			jTextField_DirFrom = new javax.swing.JTextField();
			jTextField_DirFrom.setSize(250, 20);
			jTextField_DirFrom.setLocation(96, 24);
			jTextField_DirFrom.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
			jTextField_DirFrom.setText(fromDirDefault);
		}
		return jTextField_DirFrom;
	}
	/**
	 * This method initializes jLabel3
	 * 
	 * @return javax.swing.JLabel
	 */
	private javax.swing.JLabel getJLabel3() {
		if(jLabel3 == null) {
			jLabel3 = new javax.swing.JLabel();
			jLabel3.setSize(76, 20);
			jLabel3.setText("Pattern");
			jLabel3.setLocation(11, 80);
		}
		return jLabel3;
	}
	/**
	 * This method initializes jTextField_Pattern
	 * 
	 * @return javax.swing.JTextField
	 */
	private javax.swing.JTextField getJTextField_Pattern() {
		if(jTextField_Pattern == null) {
			jTextField_Pattern = new javax.swing.JTextField();
			jTextField_Pattern.setSize(250, 20);
			jTextField_Pattern.setLocation(96, 79);
			jTextField_Pattern.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
			jTextField_Pattern.setText(patternDefault);
		}
		return jTextField_Pattern;
	}
	/**
	 * This method initializes jButton1
	 * 
	 * @return javax.swing.JButton
	 */
	private javax.swing.JButton getJButton1() {
		if(jButton1 == null) {
			jButton1 = new javax.swing.JButton();
			jButton1.setBounds(253, 108, 94, 20);
			jButton1.setText("Cerca file");
			jButton1.addActionListener(new java.awt.event.ActionListener() {   
				public void actionPerformed(java.awt.event.ActionEvent e) {    
					SpostaFile classePrincipale = new SpostaFile();
					classePrincipale.riempiLista();
				} 
			
			});
		}
		return jButton1;
	}
	/**
	 * This method initializes jTextField_DirTo
	 * 
	 * @return javax.swing.JTextField
	 */
	private javax.swing.JTextField getJTextField_DirTo() {
		if(jTextField_DirTo == null) {
			jTextField_DirTo = new javax.swing.JTextField();
			jTextField_DirTo.setSize(250, 20);
			jTextField_DirTo.setLocation(96, 52);
			jTextField_DirTo.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
			jTextField_DirTo.setText(toDirDefault);		
		}
		return jTextField_DirTo;
	}
	/**
	 * This method initializes jTextArea
	 * 
	 * @return javax.swing.JTextArea
	 */
	private javax.swing.JTextArea getJTextArea() {
		if(jTextArea == null) {
			jTextArea = new javax.swing.JTextArea();
			jTextArea.setPreferredSize(new java.awt.Dimension(360,180));
		}
		return jTextArea;
	}
}  //  @jve:visual-info  decl-index=0 visual-constraint="10,10"