Grazie Borras,
ho modificato così il metodo splashWaitAndStop....
codice:
public void splashWaitAndStop() {
	// visualizza lo splash
	setVisible(true);
		
	class ThTimer implements Runnable {
		public void run() {
			try {
				Thread.sleep(duration);
				// nasconde e termina lo splash
				setVisible(false);
				dispose();
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
	Thread th = new Thread(new ThTimer());
	th.start();
} // FM
Funziona, cioè mi visualizza e poi nasconde e termina il JFrame,
ma purtroppo ho il problema che assieme al JFrame dello splash
mi apre la JDialog che dovrebbe aprirmi dopo!!!