¿Cómo entiende Java y hace que suceda un evento? Por ejemplo, ¿qué sucede exactamente cuando hacemos clic en un botón? ¿Qué significa básicamente hacer clic en un componente? ¿Utiliza un bucle para verificar?

Se hace usando el Patrón Observable .

Sin embargo, puede ser más complicado: el sistema operativo registra la posición y acción del mouse y envía cualquier información a su aplicación Java. Esta información se obtiene de dos maneras:

  1. sondeando un mouse USB (comúnmente se solicita a 1000Hz, eso es cada 0.001s para obtener el movimiento del mouse y los clics de los botones). Esto usa un bucle como el que pidió.
  2. Al usar PS / 2, el mouse mismo envía una solicitud de interrupción que es manejada por el controlador de interrupción en la CPU. Detiene la ejecución de todas las tareas actuales y ejecuta una rutina de servicio de interrupción específicamente diseñada para esta tarea, lo que le dice al sistema operativo que algo sucedió.

Ahora se usa el Patrón Observable: el sistema operativo en sí tiene algún registro de aplicaciones (como su programa Java) que esperan eventos del mouse. Allí registra algún controlador de eventos que básicamente es una función o método, es básicamente una lista de tales funciones. Si sucedió algo, todas esas funciones se invocan con los datos del evento.

Su componente GUI, en su caso un botón, se registra en la creación en esa lista para que conozca las acciones del mouse. Si las coordenadas con un clic del mouse están contenidas en el área del botón, llama a todos los controladores de eventos en su propio registro para eventos de botón. Si se elimina el elemento GUI, se anula el registro de esa lista nuevamente.

Para obtener una comprensión completa, deberá tomar un curso de arquitectura de computadoras con lenguaje ensamblador en los laboratorios. En un paso más alto, necesitaría tomar el curso win32 c que le enseñaría que hay un bucle de Windows, que esperaría los eventos enviados desde niveles inferiores (os), y que desde ese bucle se llamarían funciones.

Esto es lo mismo para cualquier idioma.

Saber esto le dará una mejor comprensión de lo que está sucediendo en cualquier idioma que termine usando, pero hay un número limitado de compañías donde lo apreciarán, en este momento.