Visualizzazione dei risultati da 1 a 10 su 41

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    442
    Ciao, intanto grazie per la risposta
    Vado per gradi.

    1) Allora per implementare il pulsnate uscita ho fatto così:
    codice:
            pulsanteUscita.addActionListener(new ActionListener() {
                public void actionPerformed (ActionEvent e){
                    System.exit(0);
                }
            });
    Tenendo presente che è ancora una cosa temporanea.
    Non avevo però mai visto un modo di dichiarare un metodo come parametro.. come si chiama questa cosa? Si usa solo per questo genere di esigenze di grafica?

    2) Blocchi try: so a cosa servono mi chiedevo però in particolare cosa gestiscono quelli che NB ha messo automaticamente e se sono tutti necessari. L'assenza di Nimbus?

    3) So che usare NB non è il massimo ma credimi finora sono andata avanti con jEdit, è in pratica la prima volta che provo a usare NB. Ma mi sembra che per creare oggetti gui sia la strada più veloce.

    4) Gli altri pulsanti dovranno richiamare altre maschere/classi. Come faccio a dirgli che alla pressione di Impostazioni mi deve aprire la relativa classe che gestirà questa parte del programma? Nel frattempo che l'utente ha avviato un'altra maschera, questa (che sarà la principale) conviene solo toglierla come visibilità o terminarla?

    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Quote Originariamente inviata da Jamie04 Visualizza il messaggio
    Ciao, intanto grazie per la risposta
    Vado per gradi.

    1) Allora per implementare il pulsnate uscita ho fatto così:
    codice:
            pulsanteUscita.addActionListener(new ActionListener() {
                public void actionPerformed (ActionEvent e){
                    System.exit(0);
                }
            });
    Tenendo presente che è ancora una cosa temporanea.
    Non avevo però mai visto un modo di dichiarare un metodo come parametro.. come si chiama questa cosa? Si usa solo per questo genere di esigenze di grafica?
    Non è una dichiarazione come parametro, è una classe anonima. Sto in pratica istanziando la classe ActionListener (infatti chiamo il costruttore), quindi apro la graffa e dichiaro al suo interno il metodo (o per meglio dire, ne dò una definizione).

    2) Blocchi try: so a cosa servono mi chiedevo però in particolare cosa gestiscono quelli che NB ha messo automaticamente e se sono tutti necessari. L'assenza di Nimbus?
    Ogni clausola catch() viene chiamata in caso si verificasse quella particolare eccezione. Anche se non è raro specificare un eccezione generica che le raggruppi tutte. Non che sia propriamente corretto comunque.

    3) So che usare NB non è il massimo ma credimi finora sono andata avanti con jEdit, è in pratica la prima volta che provo a usare NB. Ma mi sembra che per creare oggetti gui sia la strada più veloce.
    Se l'interesse è solo quello di imparare Java la strada migliore è Notepad++ ed un libro o comunque il reference ufficiale. Se poi hai problemi legati al tempo, è un altro discorso.


    4) Gli altri pulsanti dovranno richiamare altre maschere/classi. Come faccio a dirgli che alla pressione di Impostazioni mi deve aprire la relativa classe che gestirà questa parte del programma? Nel frattempo che l'utente ha avviato un'altra maschera, questa (che sarà la principale) conviene solo toglierla come visibilità o terminarla?

    Grazie!
    Al momento del click richiamerai ad esempio un metodo incaricato della creazione dell'oggetto Impostazioni e ne mostrerai la finestra.
    L'attuale la devi solo nascondere, se non vuoi renderla visibile (setVisible(false)). In questo modo puoi anche riprendere la finestra precedente. Guarda come vengono ad esempio create qui: http://solopc.forumcommunity.net/?t=49777313


    Avrei un'altra curiosità...non vedo da nessuna parte in quel codice l'oggetto JFrame finestra che dovrebbe contenere il tutto (bottoni e container)...why? Come faccio a gestire la finestra nella sua interezza (es. nel caso devo toglierla dalla visibilità) in questo caso?
    Non viene istanziato direttamente perchè viene già esteso. Quindi all'interno di quella classe (StartPanel) puoi direttamente chiamare setVisible(). Se lo richiami facendo new StartPanel().setVisible(true) crei un altra istanza della classe.

    Estendere un JFrame o un JPanel per personalizzarlo è molto comune.


    PS: scusa se non ho potuto rispondere prima.

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Quote Originariamente inviata da Patrick Jane Visualizza il messaggio
    Sto in pratica istanziando la classe ActionListener (infatti chiamo il costruttore), quindi apro la graffa e dichiaro al suo interno il metodo (o per meglio dire, ne dò una definizione).
    No!
    ActionListener è un'interfaccia e come tale non può essere istanziata. Quello che stai facendo con quella notazione è creare al volo una classe che implementa ActionListener.
    Ultima modifica di Alex'87; 15-11-2013 a 18:14
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Si scusa, mi sono espresso in modo sbagliato Alex.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    442
    Quote Originariamente inviata da Patrick Jane Visualizza il messaggio
    Non è una dichiarazione come parametro, è una classe anonima. Sto in pratica istanziando la classe ActionListener (infatti chiamo il costruttore), quindi apro la graffa e dichiaro al suo interno il metodo (o per meglio dire, ne dò una definizione).
    Al momento del click richiamerai ad esempio un metodo incaricato della creazione dell'oggetto Impostazioni e ne mostrerai la finestra.
    L'attuale la devi solo nascondere, se non vuoi renderla visibile (setVisible(false)). In questo modo puoi anche riprendere la finestra precedente. Guarda come vengono ad esempio create qui: http://solopc.forumcommunity.net/?t=49777313
    Sì in effetti vorrei che uscendo o cliccando sulla x mi tornasse alla finestra principale.
    Ho fatto così per richiamare la finestra delle impostazioni:

    codice:
            pulsanteImpostazioni.addActionListener(new ActionListener() {
                public void actionPerformed (ActionEvent e) {
                    new Settings().setVisible(true);
                }
            });
    E funziona, ma ovviamente se clicco x si chiude tutto. Ma questo poi vedo.
    C'e' una cosa che mi perplime: in NetBeans mentre creo le finestre col designer nella preview le vedo in un modo diverso da come poi sono effettivamente quando eseguo il file.
    Che casino



    PS: scusa se non ho potuto rispondere prima.

    Ma non c'è bisogno di scusarsi figurati, anzi grazie infinite per l'aiuto che mi stai dando.
    Ultima modifica di Jamie04; 15-11-2013 a 19:35

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Quote Originariamente inviata da Jamie04 Visualizza il messaggio
    Sì in effetti vorrei che uscendo o cliccando sulla x mi tornasse alla finestra principale.
    Ho fatto così per richiamare la finestra delle impostazioni:

    codice:
            pulsanteImpostazioni.addActionListener(new ActionListener() {
                public void actionPerformed (ActionEvent e) {
                    new Settings().setVisible(true);
                }
            });
    E funziona, ma ovviamente se clicco x si chiude tutto. Ma questo poi vedo.
    La domanda che mi preme ora è: perché queste due finestre hanno una grafica differente?
    Preciso che Settings (impostazioni) contiene dei JTabbedPane, mentre StartPanel no e StartPanel ricalca la grafica delle finestre del sistema operativo dove lo eseguo, mentre Settings no!
    Io voglio fare in modo che tutte le finestre del mio programma ricalchino la grafica standard del SO in cui viene eseguito, dove devo agire per questo?
    Che casino
    Dovresti postare il codice completo, così vedo anche l'altra classe.

    Per quanto riguarda il codice che hai mostrato qui sopra, dovrai passare a Settings un istanza della classe StartPanel; in questo modo è possibile per l'altra classe invocare setVisible(true) su StartPanel (in quel metodo invece devi settarlo su false, altrimenti rimarrà il frame sotto).

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.