CodeGym
AI Academy
Promozione
CodeGym University
Learning
Corsi
Tasks
Surveys & Quizzes
Games
Help
Schedule
Community
Users
Forum
Chat
Articles
Success stories
Activity
Reviews
Subscriptions
Tema chiaro

Lezioni

  • Recensioni
  • Chi siamo
Inizia
Inizia a imparare
Start learning now
  • I miei progressi
  • Corsi
  • Mappa Quest
  • Lezioni
  • Ascoltatori (Listeners) e interfacce degli eventi

    JAVA 25 SELF
    Livello 50,Lezione 0
    Come è organizzato in Java il modello a eventi: la sorgente genera un evento e i listener sottoscritti ricevono una notifica e reagiscono. Analizzeremo le interfacce chiave dei listener di Swing — ActionListener, MouseListener, KeyListener, ChangeListener, DocumentListener — e mostreremo come registrare i gestori tramite addActionListener e implementare il metodo actionPerformed. Faremo pratica nel collegare i listener a JButton/ JFrame, confronteremo le classi anonime e le espressioni lambda, discuteremo errori tipici e consigli pratici.
    Disponibile
  • Eventi in Swing e AWT: basi, esempi

    JAVA 25 SELF
    Livello 50,Lezione 1
    Breve introduzione pratica al modello di eventi di AWT/ Swing: creiamo un pulsante JButton, registriamo un listener tramite addActionListener, gestiamo in actionPerformed. Analizziamo classi anonime ed espressioni lambda, i listener più comuni ( MouseListener/ MouseAdapter, KeyAdapter, DocumentListener), scriviamo una mini‑app basata su JFrame, JButton, JLabel, osserviamo la sequenza delle chiamate e gli errori tipici (lavoro pesante nel gestore, variabili final nelle lambda, addActionListener dimenticato, rimozione dei listener, uso di SwingWorker).
    Disponibile
  • Creazione e gestione di eventi personalizzati

    JAVA 25 SELF
    Livello 50,Lezione 2
    In questa lezione analizziamo come progettare eventi personalizzati in Java: creiamo una classe evento basata su java.util.EventObject, definiamo un'interfaccia di listener tramite java.util.EventListener, aggiungiamo un meccanismo di registrazione/rimozione ( add...Listener/ remove...Listener) e di notifica ( fire...). Vedremo la pratica con gli esempi di DataLoader e di un contatore, discuteremo i gestori con classi anonime ed espressioni lambda, e analizzeremo anche gli errori tipici (eccezioni nei listener, perdite di memoria, ConcurrentModificationException).
    Disponibile
  • Pattern Observer (osservatore)

    JAVA 25 SELF
    Livello 50,Lezione 3
    Pattern comportamentale «Osservatore»: ruoli Subject e Observer, iscrizione/disiscrizione tramite addObserver/ removeObserver, e invio delle notifiche con il metodo notifyObservers. Analizziamo il collegamento con il modello a eventi di Java: button. addActionListener( listener) ; → chiamata a actionPerformed(). Pratica con esempi (termometro e condizionatore, mini‑contatore e lambda), e anche perché java.util.Observable/ Observer sono deprecati e quali approcci moderni esistono.
    Disponibile
  • Thread EDT e operazioni lunghe nell'UI

    JAVA 25 SELF
    Livello 50,Lezione 4
    In questa lezione analizziamo che cos’è il thread di gestione degli eventi dell’UI — EDT in Swing e il suo equivalente JavaFX Application Thread —, perché i componenti dell’interfaccia non sono thread-safe e per quale motivo la finestra “si blocca” durante compiti pesanti. Mostreremo le pratiche corrette: spostare i calcoli in background tramite new Thread(...), aggiornare l’interfaccia con le chiamate SwingUtilities.invokeLater e Platform.runLater, nonché utilizzare strumenti di livello più alto SwingWorker<T, V> e Task<V>/ Service<V> per avanzamento, annullamento e gestione degli errori.
    Disponibile
Learn
  • Registration
  • Java Course
  • Help with Tasks
  • Pricing
  • Java Syntax
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Success Stories
  • Activity
  • Affiliate Program
Company
  • About us
  • Contacts
  • Reviews
  • Press Room
  • CodeGym for EDU
  • FAQ
  • Support
CodeGymCodeGym is an online course for learning Java programming from scratch. This course is a perfect way to master Java for beginners. It contains 1200+ tasks with instant verification and an essential scope of Java fundamentals theory. To help you succeed in education, we’ve implemented a set of motivational features: quizzes, coding projects, content about efficient learning, and a Java developer’s career.
Follow us
Lingua dell'interfaccia
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ்
Italiano
Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programmers Are Made, Not Born" © 2026 CodeGym
MastercardVisa
"Programmers Are Made, Not Born" © 2026 CodeGym