Когда мышь введена, в ней есть цикл, чтобы проверить, превышает ли прошедшее время определенный предел
Не использовать цикл.Если это выполняется в слушателе, то вы будете блокировать поток обработки событий (EDT).
Вместо этого используйте Swing Timer .Когда вы входите в компонент, вы запускаете таймер.Затем таймер сгенерирует событие по истечении заданного вами интервала времени.
Однако вы также можете остановить таймер, если генерируется какое-то другое событие, и вы хотите сбросить таймер.
Это не будетзаблокируйте Event Dispatch Thread (EDT)
, и события по-прежнему будут генерироваться в обычном режиме.
Я хочу показать информацию, пока кнопка мыши все еще нажата
Не уверен, что "все еще нажал"средства.Если кнопка все еще нажата, и вы выполняете код из ActionListener, вы заблокируете EDT, и графический интерфейс пользователя не сможет перерисовать себя, пока не будет завершена долгосрочная задача.
Чтение раздела из Swingучебник по Concurrency для получения дополнительной информации о EDT
.