Comincia ad isolare i punti dove potrebbero sorgere i problemi: è un problema di costruzione della GUI (ne dubito)? Per verificarlo, strippa dal codice (commenta) tutto quanto è dati (ovvero quanto proviene dal database). Se la GUI viene creata senza problemi, step successivo (lascia perdere i JOptionPane, in fase di debug manda tutto a console... gli abbellimenti e le varie facezie si fa sempre in tempo a buttarli dentro), passa al debug delle query, a partire dalla connessione: io personalmente, oltre al try/catch in fase di debug inserisco dei checkpoint in posti strategici -ovvero laddove mi potrei aspettare un problema e/o un'eccezione
codice:try { istruzione_problematica_1; System.out.println("Dopo 1"); } catch (Exception e) { e.printStackTrace(); }

Rispondi quotando