Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: [java] JDialog

  1. #1
    Utente di HTML.it L'avatar di provasp
    Registrato dal
    Sep 2002
    Messaggi
    160

    [java] JDialog

    Ho creato un JDialog che fa una domanda e si aspetta dall'utente la pressione di uno dei due pulsanti SI o NO.
    Funziona correttamente se premo i pulsanti col mouse, ma se mi sposto con il tab sul pulsante NO il programma prende sempre l'opzione SI.

    Questo è il codice:
    codice:
    public static int question(String c)
    {
    	JDialog.setDefaultLookAndFeelDecorated(true);
    	String[] opzioni = {"SI", "NO"};
    	int ritorno;
    	ritorno = JOptionPane.showOptionDialog(null, c, "QUESTION", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, opzioni, opzioni[0]);
    
    	return ritorno;
    }
    Cosa sbaglio?

  2. #2
    Utente di HTML.it L'avatar di provasp
    Registrato dal
    Sep 2002
    Messaggi
    160
    up

  3. #3
    Ho provato il tuo codice.
    Se usi TAB per spostarti e SPAZIO per selezionare, funziona.
    Il problema e' che premendo INVIO, la finestra si chiude, per qualche motivo che ignoro...
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  4. #4
    Utente di HTML.it L'avatar di provasp
    Registrato dal
    Sep 2002
    Messaggi
    160
    E' esattamente quello che succede a me...

    Mi sapreste alternativamente indicare un altro modo per fare quello che mi serve?


    Grazie.

  5. #5
    Se usi un confirmDialog non dovrebbe consentirti di chiudere con INVIO. Pero' non so se avevi usato questo come esempio o e' proprio quello che cerchi di ottenere: nel secondo caso, usa showconfirmDialog. Ad esempio

    codice:
     
        public static void esci() {
            int a = JOptionPane.showConfirmDialog(null,
                    "Uscire dal programma?",
                    "Chiusura del programma",
                    JOptionPane.YES_NO_OPTION,
                    JOptionPane.QUESTION_MESSAGE);
            if (a == JOptionPane.YES_OPTION)
                System.exit(0);
        }
    Cmq approfondiro' questa cosa...
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  6. #6
    VVoVe:

    NON FUNZIONA!!!!
    Eppure ero sicuro...

    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  7. #7
    Allora, ho scritto su Java Forum. In pratica e' una questione di Look'n'Feel. Col LnF di base, INVIO ti da il valore di default.
    Quindi inserisci:

    codice:
            try{ UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
            } catch(Exception e){e.printStackTrace();}
    prima del tuo codice per utilizzare il LnF di Windows che non prevede l'uso di INVIO. Non molto bella come soluzione, per la verita'.
    Meglio sarebbe estendere la classe JDialog e farti i tuoi dialoghi.
    Questo e' l'esempio che mi hanno consigliato, ma ce ne sono mille altri simili:

    http://forum.java.sun.com/thread.jsp...hreadID=312780
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  8. #8
    Utente di HTML.it L'avatar di provasp
    Registrato dal
    Sep 2002
    Messaggi
    160
    A me servirebbe con il Look'n'Feel Decorated, visto che ho fatto in questo modo tutti i dialoghi.

    Cercerò di estendere la classe JDialog per ottenere quello che mi serve.
    Se qualcuno ha degli esempi mi farebbero molto comodo...


    Grazie DekDek

  9. #9
    Il fatto e' che e' proprio il Look and Feel che prevede che con INVIO ottieni il valore di default!!!
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  10. #10
    Utente di HTML.it L'avatar di provasp
    Registrato dal
    Sep 2002
    Messaggi
    160
    Originariamente inviato da dekdek
    Il fatto e' che e' proprio il Look and Feel che prevede che con INVIO ottieni il valore di default!!!
    E non esisterà nessun modo per cambiare questa impostazione di default??? :master:

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.