int x = e.getX(), y = e.getX();
Вероятно, это должно быть изменено на
int x = e.getX(), y = e.getY();
. Поэтому он работает только в направлении x, вы фактически не учитываете направление Y