Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    218

    Problema JDialog modali

    Creo delle jdialog, ma non posso passargli nel costruttore ne il frame che l'ha create ne un jdialog, non ho nulla insomma.

    Ma dovrei renderle ogni volta modali.
    Il problema è che se una jdialog non ha un riferimeno a cosa essere modale non viene resa modale.

    C'è qualcosa modo per rendere modale una jdialog senza passargli il componente nel costruttore?

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Problema JDialog modali

    Originariamente inviato da TheBestNeo
    Creo delle jdialog, ma non posso passargli nel costruttore ne il frame che l'ha create ne un jdialog, non ho nulla insomma.
    Non puoi perchè effettivamente non hai un componente da usare come parent oppure ottieni qualche errore?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    218

    Re: Re: Problema JDialog modali

    Originariamente inviato da Alex'87
    Non puoi perchè effettivamente non hai un componente da usare come parent oppure ottieni qualche errore?
    La prima. Non posso avere le componenti da usare come parent.

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Ok, quindi la tua JDialog rispetto a cosa deve essere modale? Nel senso, perchè la vuoi mettere modale se non ha un parent? Spiega meglio cosa vuoi fare :master:
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    218
    E' li il problema. Modale rispetto a tutte le altre finestre aperte, dal programma ovviamente.

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da TheBestNeo
    Modale rispetto a tutte le altre finestre aperte, dal programma ovviamente.
    Cioè hai più frame e vuoi che la dialog sia "modale" rispetto a tutti gli altri frame?? (per capire meglio: non puoi operare sui frame finchè la dialog non viene chiusa)

    Guarda che se la dialog ha il flag modal a true, è già per default "application modal", ovvero rispetto a tutte le altre finestre.

    Modality types
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    218
    Premetto che ho cambiato approccio e che quindi ho risolto, il mio problema consisteva di non poter passare il parent ad una dialog e che quindi, pur settando il modal a true, non rimaneva in cima allo stack delle finestre.

    La mia domanda era se esiste un modo per recuperare le gui istanziate sino a quel momento e metterla modale rispetto a quelle.

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da TheBestNeo
    Premetto che ho cambiato approccio e che quindi ho risolto, il mio problema consisteva di non poter passare il parent ad una dialog e che quindi, pur settando il modal a true, non rimaneva in cima allo stack delle finestre.
    Prova questo:

    codice:
    import java.awt.*;
    import javax.swing.*;
    
    public class Prova {
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    JFrame f1 = new JFrame("aaa");
                    f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    f1.setLocation(0, 0);
                    f1.setSize(200, 200);
                    f1.getContentPane().add(new JButton("1"));
                    f1.setVisible(true);
    
                    JFrame f2 = new JFrame("bbb");
                    f2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    f2.setLocation(300, 0);
                    f2.setSize(200, 200);
                    f2.getContentPane().add(new JButton("2"));
                    f2.setVisible(true);
    
                    JDialog d = new JDialog((Frame) null, "Prova dialog", true);
                    d.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
                    d.setLocation(300, 300);
                    d.setSize(200, 200);
                    d.setVisible(true);
                }
            });
        }
    }
    Fino a quando la dialog è aperta, prova ad agire sui frame ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    218
    Cioè castare a Frame il null???
    Ci provo.

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    218
    Con setModal mi sa un sacco di NullPointerException nel programma.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.