Salve a tutti
Ho questo problema:
All'interno di un JPanel sposto con il mouse (tenendo premuto il tasto sinistro MouseDrag) delle JLabel e fin qui tutto a meraviglia se poi voglio farlo tenendo premuto ad esempio il tasto SHIFT l'unico modo che ho scoperto e va bene è utilizzando:

Toolkit.getDefaultToolkit().addAWTEventListener(ne w KeyDispacher(), AWTEvent.KEY_EVENT_MASK);

con un event dispatched del tipo:

public void eventDispatched(AWTEvent event) {
System.out.println("evento!!");
if(event instanceof KeyEvent){
KeyEvent evt = (KeyEvent)event;
if(event.getID() == KeyEvent.KEY_PRESSED){
System.out.println("memoria: "+Runtime.getRuntime().freeMemory());
if(evt.getKeyCode()==KeyEvent.VK_SHIFT)
shiftPressed = true;
}
else if(event.getID() == KeyEvent.KEY_RELEASED){
if(evt.getKeyCode()==KeyEvent.VK_SHIFT)
shiftPressed = false;
}
}
}

il problema che si presenta è che dopo alcuni spostamenti, a velocità normale, inizia a rallentare e a diventare troppo lento negli spostamenti.

Conoscete una scappatoia per ovviare al problema?
Grazie per l'aiuto