ciao a tutti...ho creato un frame dove dovrei inserire dei dati nel mysql....in questo frame ho inserito anche una comboBox dove mi escono tutte le table inserite per selezionare su quale table devo inserire i dati.....

nella parte grafica tutto ok!!! mi escono anche le table nella jcombobox...ma il proble è che se dovessi chiudere il frame e poi riaprirlo nella combobox mi escono le table per il doppio....

esempio....nel database ho table1 table2...appena chiudo e riapro il frame "dal menu principale" mi escono per 2 volte o per quante volte chiudo e riapro....

il cod. è questo:

codice:
public void insert() {
		try {
			Class.forName("org.gjt.mm.mysql.Driver");
		}
		catch (Exception exc) {
			System.out.println("Errore - Driver jdbc non presente: "+ exc.getMessage());
		}
			GridBagLayout grid = new GridBagLayout();
			GridBagConstraints constraints = new GridBagConstraints();
			constraints.insets.bottom = 5;
			constraints.insets.left = 5;
			constraints.insets.right = 5;
			constraints.insets.top = 5;
			constraints.fill = GridBagConstraints.BOTH; 
			
			//Nome della base
			constraints.gridx = 0;
			constraints.gridy = 0;
			constraints.gridheight = 1;
			constraints.gridwidth = 1;
			grid.setConstraints(label1, constraints);

			constraints.gridx = 1;
			constraints.gridy = 0;
			constraints.gridheight = 1;
			constraints.gridwidth = 1;
			grid.setConstraints(nome_base, constraints);

			constraints.gridx = 0;
			constraints.gridy = 1;
			constraints.gridheight = 1;
			constraints.gridwidth = 1;
			grid.setConstraints(label2, constraints);
			
			constraints.gridx = 1;
			constraints.gridy = 1;
			constraints.gridheight = 1;
			constraints.gridwidth = 1;
			grid.setConstraints(link_nome_base, constraints);
					
			constraints.gridx = 2;
			constraints.gridy = 1;
			constraints.gridheight = 1;
			constraints.gridwidth = 1;
			grid.setConstraints(button1, constraints);
			
			constraints.gridx = 0;
			constraints.gridy = 2;
			constraints.gridheight = 1;
			constraints.gridwidth = 1;
			grid.setConstraints(label4, constraints);
			
			constraints.gridx = 1;
			constraints.gridy = 2;
			constraints.gridheight = 1;
			constraints.gridwidth = 1;
			grid.setConstraints(link_nome_testo, constraints);
			
			constraints.gridx = 2;
			constraints.gridy = 2;
			constraints.gridheight = 1;
			constraints.gridwidth = 1;
			grid.setConstraints(button2, constraints);
			
			constraints.gridx = 1;
			constraints.gridy = 3;
			constraints.gridheight = 1;
			constraints.gridwidth = 1;
			grid.setConstraints(combo, constraints);
			
			constraints.gridx = 2;
			constraints.gridy = 3;
			constraints.gridheight = 1;
			constraints.gridwidth = 1;
			grid.setConstraints(button3, constraints);
			
			JPanel p = new JPanel();
			//p.add(scroll);
			p.setLayout(grid);
			
			p.add(label1);
			p.add(nome_base);
			
			p.add(label2);
			p.add(link_nome_base);
			p.add(button1);
			
			p.add(label4);
			p.add(link_nome_testo);
			p.add(button2);
			
			p.add(combo);
			p.add(button3);
			  
			try {                   
			conn = DriverManager.getConnection("jdbc:mysql://localhost/basi?user=root&password=root");
			dbm = (DatabaseMetaData) conn.getMetaData();
			String[] types = {"TABLE"};
			rs = dbm.getTables(null,null,null,new String[]{"TABLE"});
			while (rs.next()) 
			{ 
				combo.addItem((String)rs.getString(3));   				
			} 
			rs.close();
			conn.close();
			} 
			
			catch (SQLException e) {       
				e.printStackTrace();    
			}    
			
			JFrame frame = new JFrame("Finestra del DataBase");
			frame.setSize(800,300);	
			frame.getContentPane().add(p);
			frame.setVisible(true);
			
				button1.addActionListener(new ActionListener() {				
					public void actionPerformed(ActionEvent evt) {					
						JFileChooser chooser = new  JFileChooser();
				        int returnVal = chooser.showOpenDialog(null);
				        if(returnVal == JFileChooser.APPROVE_OPTION) {
				        	File f = chooser.getSelectedFile();
				        	File directory = chooser.getCurrentDirectory();
				        	String path = directory.getAbsolutePath();      	
				        	try{ 	        	
				        		link_nome_base.setText(path + f);
				        	}
				        	catch(Exception e){
				        		System.out.println(e);
				        	}				        	
				        }
					}
				});
				button2.addActionListener(new ActionListener() {				
					public void actionPerformed(ActionEvent evt) {					
						JFileChooser chooser = new  JFileChooser();
				        int returnVal = chooser.showOpenDialog(null);
				        if(returnVal == JFileChooser.APPROVE_OPTION) {
				        	File f = chooser.getSelectedFile();
				        	File directory = chooser.getCurrentDirectory();
				        	String path = directory.getAbsolutePath();      	
				        	try{ 	        	
				        		link_nome_testo.setText(path + f);
				        	}
				        	catch(Exception e){
				        		System.out.println(e);
				        	}				        	
				        }
					}
				});
				button3.addActionListener(new ActionListener() {				
					public void actionPerformed(ActionEvent evt) {					
						
					}
				});

		}
dove sbagli??????????

spero di essere stato chiaro....