Мерцание при перетаскивании в Swing - PullRequest
2 голосов
/ 30 ноября 2011

У меня есть такой код:

public class DpDropTargetListener implements DropTargetListener {
   public void dragOver(final DropTargetDragEvent dtde) {
      ...
      if (dtde.getLocation().equals(container.getLastLocation())) {
         return;
      }
      ...     
      Rectangle visRect = container.getVisibleRect();
      container.paintImmediately(visRect.x, visRect.y, visRect.width, visRect.height);

      //prepare the image to paint, and paint it
      ...
      Graphics2D gr = (Graphics2D) container.getGraphics();            
      gr.drawImage(container.getDragImage(), AffineTransform.getTranslateInstance(
         x, y), null);
      ...
   }
}

Он должен рисовать указанное изображение при перетаскивании.Но это изображение мерцает, когда я его перетаскиваю.Что я должен исправить, чтобы перестать мерцать?

1 Ответ

3 голосов
/ 30 ноября 2011

Переопределить метод контейнера paintComponent(). Во время перетаскивания установите изображение и местоположение в контейнере и вызовите обычный repaint();

...