Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [JAVA] Significato di });

    Raga sono un newbie della programmazione e volevo chiedervi il significato della parentesi tonda e punto e virgola dopo la parentesi graffa, ovvero:

    codice:
    });
    Tutto ciò, se può esservi utile, è inserito in questo contesto:

    codice:
    desk.addComponentListener(new ComponentAdapter() 
    {
       public void componentResized(ComponentEvent ev) 
       {
         Dimension deskSize = desk.getSize();
         p.setBounds(0, 0, deskSize.width, deskSize.height);
         p.validate();
        }
    }); // <-- Questo cosa significa?
    Grazie mille anticipatamente!!!!

  2. #2
    Serve per chiudere il:
    codice:
    (new ComponentAdapter() 
    {
    della prima e seconda riga.

    In pratica qui si registra un Component Adapter che di norma si dovrebbe definire in una classe a parte. Per fare prima il corpo della classe è inserito in questo file e il corpo della classe è appunto racchiuso da {}.

    Quindi si trova un {} all'interno di (). Spero che hai capito!

  3. #3
    Se ho ben capito....
    codice:
    {
       public void componentResized(ComponentEvent ev) 
       {
         Dimension deskSize = desk.getSize();
         p.setBounds(0, 0, deskSize.width, deskSize.height);
         p.validate();
        }
    });
    Questo pezzo di codice fa parte dell'oggetto ComponentAdapter che viene definito immediatamente senza dover creare un'altra classe e doverla poi richiamare.

    Praticamente si crea un oggetto direttamente senza creare una classe a parte ma inserendo attributi, metodi, variabili direttamente nel codice lasciando aperta la parentesi tonda all'inizio e chiudendola solo quando sono stati settati tutti i suoi componenti!

    Giusto?
    Dimmi se ho ben capito! Grazie!

  4. #4
    Esatto.

  5. #5
    Ajò Grazie mille!!!!!!
    Sono commosso!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    56
    Si chiamano "classi anonime".
    Sono usate per non complicare il progetto con la definizione esplicita di una nuova classe nei casi in cui essa si usa in un posto solo (infatti la classe non ha un nome e non si può riutilizzare).
    Molto frequente l'utilizzo di questo tipo di definizione nel caso degli Adapter, in cui si definisce spesso un solo metodo e si crea un solo oggetto di quel tipo.

  7. #7
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    se hai notato, quando compili una classe con delle classi interne anonime, il bytecode delle classi interne si trova in file con un nome del tipo: ClasseEsterna$n.class, dove n e' il numero della classe ... ;-))
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

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.