La programación orientada a eventos es un paradigma en el que los eventos externos dirigen el flujo de ejecución de un programa. Los eventos pueden provenir de interfaces gráficas de usuario, componentes de software, o dispositivos hardware. Los programas orientados a eventos usan interfaces listener para escuchar los eventos y responder a ellos. Las interfaces gráficas de usuario son un tipo común de evento manejado por este paradigma.