Salve ragazzi, vi scrivo per porvi un problema che non riesco a risolvere che è di fondamentale importanza. Il problema riguarda la creazione e l'avio di un JDialog modale. Vi posto l'intero codice in cui accade l'errore:
codice:
public void partita(final Uman umano, final IA computer,final JFrame frame){
JFrame frameComandi = new JFrame("Comandi");
JDialog comandi = new JDialog(frameComandi, Dialog.ModalityType.DOCUMENT_MODAL);
JButton btnRilancia = new JButton("Rilancia");
btnRilancia.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
Campionato.durataPartita++;
umano.Rilancia(frame, (SquadraUmano) umano.getSquadra(), umano.getGiocatori());
}
});
btnRilancia.setName("Rilancia");
JButton btnTira = new JButton("Tira");
btnTira.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
Campionato.durataPartita++;
umano.Contrasta(frame, umano.getGiocatori(), computer.getGiocatori(), (SquadraUmano)umano.getSquadra(), (SquadraAvversaria)computer.getSquadra());
if(((FinestraPartita) frame).getGiocatoreCorrente().getSquadra().equalsIgnoreCase(umano.getSquadra().GetNomeSquadra()))
umano.Tira(frame, computer.getGiocatori(), (SquadraAvversaria)computer.getSquadra(), (SquadraUmano)umano.getSquadra());
}
});
btnTira.setName("Tira");
JButton btnPassaggio = new JButton("Passaggio");
btnPassaggio.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
Campionato.durataPartita++;
umano.Contrasta(frame, umano.getGiocatori(), computer.getGiocatori(), (SquadraUmano)umano.getSquadra(), (SquadraAvversaria)computer.getSquadra());
if(((FinestraPartita) frame).getGiocatoreCorrente().getSquadra().equalsIgnoreCase(umano.getSquadra().GetNomeSquadra()))
umano.Passa(frame, (SquadraAvversaria)computer.getSquadra(), umano.getGiocatori(), computer.getGiocatori());
}
});
btnPassaggio.setName("Passaggio");
comandi.add(btnPassaggio);
comandi.add(btnTira);
comandi.add(btnRilancia);
if((int)(Math.random()*10)>5){
((FinestraPartita) frame).setGiocatoreCorrente((Portiere) Search(12,168,umano.getGiocatori()));
((FinestraPartita) frame).getGiocatoreCorrente().setEnabled(true);
}
else{
((FinestraPartita) frame).setGiocatoreCorrente((Portiere) Search(638,168,computer.getGiocatori()));
((FinestraPartita) frame).getGiocatoreCorrente().setEnabled(true);
}
// continuare. . . . .
while(durataPartita < 5){
if (((FinestraPartita) frame).getGiocatoreCorrente().getSquadra().equalsIgnoreCase(squadra.GetNomeSquadra())) {
// Chiedi all'utente
frameComandi.setVisible(true);
}
else{
//computer
TurnoComputer(frame, computer, umano);
durataPartita++;
}
}
ah dimenticavo... l'errore è un blocco del sistema in genrale tale da costringermi a riavviare il pc 
spero in un vostro aiuto..buona giornata