Ciao a tutti!!!

ho creato una modifica del database ma ho un problema!!!

nel momento in cui modifico il database faccio uscire un messaggio ma poi se dovessi chiudere la finestra per la modifica e poi riaprirla per una seconda modifica mi escono 2 messaggi!!!

praticamente se dovessi aprire il frame della modifica e chiuderla per 10 volte...per 10 volte consecutive mi esce il messaggio!!!!

questo è il cod:

codice:
salvaModificaBase.addActionListener(new ActionListener() {				
public void actionPerformed(ActionEvent evt) {	
String s1 = textNome.getText(); 
String s2 = texCognome.getText();
String s3 = textIDBase.getText();

if (s1.equals("")){
JOptionPane.showMessageDialog(null, "Inserire il nome", "Messaggio", JOptionPane.WARNING_MESSAGE);
}else if (s2.equals("")){
JOptionPane.showMessageDialog(null, "Inserire il cognome", 
}else {
try {
Class.forName("org.sqlite.JDBC");
}
catch (Exception exc) {
System.out.println("Errore - Driver jdbc non presente: "+ exc.getMessage());
}
				
try {
conn = DriverManager.getConnection("jdbc:sqlite:basi.sqlite");						
						
String query = "UPDATE playlist SET nome=?, cognome=? where id="+s3;
pstmt = (PreparedStatement) conn.prepareStatement(query); 
pstmt.setString(1, s1); 
pstmt.setString(2, s2);
pstmt.setString(3, s3);

pstmt.executeUpdate(); 

					
// QUESTO è IL MESSAGGIO CHE RIMANE IN MEMORIA....					
JOptionPane.showMessageDialog(null, "Lista Modificata!", "Messaggio...",JOptionPane.INFORMATION_MESSAGE );							
					
pstmt.close();
conn.close();
}
					
catch (Exception exc) {
System.out.println("Errore: "+ exc.getMessage());
} 
					
}
				
}
			
});
dov'è l'errore???