CodeGym
AI Academy
Khuyến mãi
CodeGym University
Học tập
Khóa học
Bài tập
Khảo sát & Bài kiểm tra
Trò chơi
Trợ giúp
Lịch
Cộng đồng
Người dùng
Diễn đàn
Trò chuyện
Bài viết
Câu chuyện thành công
Hoạt động
Đánh giá
Gói đăng ký
Chủ đề sáng

Bài học

  • Đánh giá
  • Về chúng tôi
Bắt đầu
Bắt đầu học
Bắt đầu học ngay
  • Tiến độ của tôi
  • Khóa học
  • Bản đồ Quest
  • Bài học
  • Trình lắng nghe (Listeners) và các interface sự kiện

    JAVA 25 SELF
    Cấp độ 50,Bài học 0
    Cách mô hình sự kiện trong Java hoạt động: nguồn phát sinh sự kiện, và các trình lắng nghe đã đăng ký sẽ nhận thông báo và phản hồi. Chúng ta sẽ phân tích các interface lắng nghe chủ chốt trong Swing — ActionListener, MouseListener, KeyListener, ChangeListener, DocumentListener — và minh họa cách đăng ký handler thông qua addActionListener và triển khai phương thức actionPerformed. Thực hành gắn listener vào JButton/ JFrame, so sánh lớp ẩn danh và biểu thức lambda, thảo luận lỗi thường gặp và các mẹo thực hành.
    Có sẵn
  • Sự kiện trong Swing và AWT: cơ bản, ví dụ

    JAVA 25 SELF
    Cấp độ 50,Bài học 1
    Giới thiệu thực hành ngắn gọn về mô hình sự kiện AWT/ Swing: tạo nút JButton, đăng ký listener qua addActionListener, xử lý trong actionPerformed. Phân tích lớp ẩn danh và biểu thức lambda, các listener phổ biến ( MouseListener/ MouseAdapter, KeyAdapter, DocumentListener), viết mini‑ứng dụng dựa trên JFrame, JButton, JLabel, xem trình tự gọi và các lỗi thường gặp (làm việc nặng trong handler, tính final của biến trong lambda, quên addActionListener, gỡ listener, sử dụng SwingWorker).
    Có sẵn
  • Tạo và xử lý sự kiện tự định nghĩa

    JAVA 25 SELF
    Cấp độ 50,Bài học 2
    Trong bài giảng này, chúng ta tìm hiểu cách thiết kế sự kiện tự định nghĩa trong Java: tạo lớp sự kiện dựa trên java.util.EventObject, mô tả giao diện listener qua java.util.EventListener, thêm cơ chế đăng ký/hủy đăng ký ( add...Listener/ remove...Listener) và thông báo ( fire...). Xem thực hành với các ví dụ DataLoader và bộ đếm, bàn về handler bằng lớp ẩn danh và biểu thức lambda, đồng thời phân tích các lỗi phổ biến (ngoại lệ trong listener, rò rỉ bộ nhớ, ConcurrentModificationException).
    Có sẵn
  • Mẫu thiết kế Observer (người quan sát)

    JAVA 25 SELF
    Cấp độ 50,Bài học 3
    Mẫu thiết kế hành vi “Observer”: các vai trò Subject và Observer, đăng ký/hủy đăng ký qua addObserver/ removeObserver, và gửi thông báo bằng phương thức notifyObservers. Phân tích mối liên hệ với mô hình sự kiện của Java: button. addActionListener( listener) ; → gọi actionPerformed(). Thực hành với các ví dụ (nhiệt kế và điều hòa, bộ đếm mini và lambda), cũng như vì sao java.util.Observable/ Observer đã lỗi thời và các cách tiếp cận hiện đại hiện có.
    Có sẵn
  • Luồng EDT và các thao tác dài trong UI

    JAVA 25 SELF
    Cấp độ 50,Bài học 4
    Trong bài giảng này, chúng ta tìm hiểu luồng xử lý sự kiện UI — EDT trong Swing và tương đương của nó JavaFX Application Thread, vì sao các thành phần giao diện không an toàn theo luồng và vì sao cửa sổ “bị treo” khi chạy tác vụ nặng. Chúng ta sẽ trình bày các cách làm đúng: đưa tính toán ra nền thông qua new Thread(...), cập nhật giao diện bằng các lời gọi SwingUtilities.invokeLater và Platform.runLater, cũng như sử dụng các công cụ cấp cao SwingWorker<T, V> và Task<V>/ Service<V> để theo dõi tiến độ, hủy và xử lý lỗi.
    Có sẵn
Học
  • Đăng ký
  • Khóa học Java
  • Trợ giúp bài tập
  • Bảng giá
  • Cú pháp Java
Cộng đồng
  • Người dùng
  • Bài viết
  • Diễn đàn
  • Trò chuyện
  • Câu chuyện thành công
  • Hoạt động
  • Chương trình giới thiệu
Công ty
  • Về chúng tôi
  • Liên hệ
  • Đánh giá
  • Phòng báo chí
  • CodeGym cho EDU
  • Câu hỏi thường gặp
  • Hỗ trợ
CodeGymCodeGym là một khóa học trực tuyến để học lập trình Java từ đầu. Khóa học này là cách hoàn hảo để nắm vững Java cho người mới bắt đầu. Nó chứa 1200+ bài tập với kiểm tra ngay lập tức và phạm vi lý thuyết cơ bản cần thiết về Java. Để giúp bạn thành công trong học tập, chúng tôi đã triển khai một bộ tính năng tạo động lực: bài kiểm tra, dự án lập trình, nội dung về phương pháp học hiệu quả, và hỗ trợ sự nghiệp lập trình viên Java.
Theo dõi chúng tôi
Ngôn ngữ giao diện
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
"Lập trình viên được tạo nên, không sinh ra" © 2026 CodeGym
MastercardVisa
"Lập trình viên được tạo nên, không sinh ra" © 2026 CodeGym