URLRewrite - это своего рода «взлом», если вы хотите это назвать. Что это значит, вы изобретаете колесо; так как есть уже существующие решения. Еще одна вещь, которую следует помнить, - Http Server = Статический контент и amp; Сервер приложений = динамический контент (так они были разработаны). Делегируя соответствующие обязанности каждому серверу, вы максимизируете эффективность ... но сейчас это, вероятно, всего лишь проблема в критически важных средах, и что-то вроде Tomcat, скорее всего, будет хорошо работать в обеих ролях большую часть времени; но все равно что-то иметь в виду, тем не менее.
Реализации mouselistener, mousemotionlistener просто позволяет displayArea классу слушать некоторых, определяться, события от нажатия мыши компонента Swing. Необходимо явно определить то, в чем это должно слушать. Таким образом, я предполагаю, что Вы могли добавить что-то вроде этого к конструктору:
this.addMouseListener(this);
this.addMouseMotionListener(this);
Я не вижу нигде в коде, где Вы называете addMouseListener (это) или addMouseMotionListener (это) для DisplayArea для него для подписки на те события.
Я не вижу кода здесь для регистрации слушателям мыши. Необходимо назвать addMouseListener (это) и addMouseMotionListener (это) на DisplayArea.