У меня есть несколько JPanels, размещенных на JScrollPane. Прямо сейчас у меня это так, что если ваша мышь находится вне рамки, то она не будет перетаскивать JPanels.Прокрутка JScrollPane при перетаскивании JLabel, который находится на этом JScrollPane
Мне нужно прокрутить его, пока я перемещаю компонент в направлении. (например, если я захватил компонент, а затем переместился вправо до края экрана, компонент должен двигаться, а 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.
Пожалуйста, объясните причину. Предположим, что мы ничего не знаем о вашем проекте. –
извините. попытался немного разобраться. не уверен, если вы его получите. –
Извините, возможно, это я, но для меня все еще есть слишком много неизвестных, чтобы понять проблему. Рассмотрите возможность создания и публикации [sscce] (http://sscce.org). –