Originariamente inviato da Salinas
Al posto di jButton1.addActionListener(new client()); ci metto un altro thread come initComponents()
No inizializza la gui è basta. A seguito di un evento es. click su pulsante, nel actionPerformed andrai ad istanziare un Thread e lo farai poi partire.

Guarda tra i miei Java Examples (vedi firma), sezione AWT/Swing - Concurrency

Originariamente inviato da Salinas
Oppure ne devo creare uno nuovo, diverso da invokeAndWait()?
invokeAndWait/invokeLater servono solo per "richiedere" che il codice nel run() del Runnable venga eseguito nel contesto del EDT.