Event handling is a fundamental part of Java programming that allows programs to respond to user interactions. There are three main components to Java's event model: events, event sources, and event listeners. Events are objects that describe state changes in sources like user interface elements. Sources generate events when their internal state changes, like a button being clicked. Listeners must register with sources to receive notifications about specific event types and contain methods to process those events.