Я пытаюсь отслеживать, как Java обрабатывает ввод мыши.Где объекты MouseEvent создаются в Java
До сих пор я узнал, что всякий раз, когда мышь или клик мыши, фактические данные в его состоянии хранятся в файле (то есть в Linux это файл/dev/input/mouse0 или mice file), тогда Java читает файл через java.io.ObjectInputStream и создает java.awt.MouseEvent, который затем передается java.awt.Component (через java.awt.AWTEventMulticaster) любому слушателю мыши Component, где обрабатывается объект MouseEvent.
Мой вопрос: где на Java фактически созданы объекты MouseEvent?
Меня не интересует шаблон наблюдателя и информация о том, как обрабатываются MouseEvents, но как определенный java.awt.MouseEvent создается с ввода мыши. Я бы ожидал, что есть где-то «новое предложение MouseEvent (...)», но я не могу найти его нигде. Большое спасибо за вашу помощь.
Да, AWTEventMulticaster является диспетчеризацией события слушателей компонента, но где эти события (MouseEvent особенно) взялся? В AWTEventMulticaster и в классе Component нет кода, который фактически создает объект MouseEvent. – mtx
Как сказал Дэнни. MouseEvent - это тип Java для событий, отправленных мышью (аппаратными средствами) на каждой платформе (ОС, Win, Linux). В виртуальной машине Java есть другой экземпляр ответчика. Например, в ОС. Это CPlatformResponder, который вызывает LWWindowPeer для отправки события java mouse. Ответчик - это интерфейс между оборудованием и виртуальной машиной Java, а CPlatformResponder изменяет аппаратные вызовы на типы Java, такие как MouseEvent или KeyEvent, с использованием LWWindowPeer, где вызывается новый MouseEvent https://searchcode.com/codesearch/view/17983141/#l-42 – pesoklp13