У меня есть несколько JPanels, помещенных в JScrollPane. Прямо сейчас у меня так, что если ваша мышь находится за рамкой, она не будет тянуть JPanels.
Мне нужно сделать прокрутку, пока я перемещаю компонент в направлении. (напр., если я беру компонент, а затем перемещаюсь вправо до самого края экрана, компонент должен двигаться, а JScrollPane должен прокручиваться одновременно). По сути, оба должны быть видны во время перетаскивания и пока JScrollPane (автопрокрутка?)
int dX,dY;
public void mousePressed(MouseEvent e)
{
dX = e.getLocationOnScreen().x - this.getX();
dY = e.getLocationOnScreen().y - this.getY();
}
public void mouseDragged(MouseEvent e)
{
this.scrollRectToVisible(getVisibleRect());
this.setLocation(e.getLocationOnScreen().x - dX, e.getLocationOnScreen().y - dY);
dX = e.getLocationOnScreen().x - this.getX();
dY = e.getLocationOnScreen().y - this.getY();
}
Вот код для перетаскивания. Экран (который является переменной) представляет собой JPanel, который отправляется на JScrollPane, который содержится в JFrame.