Java set jscrollpane scroll не работает
У меня есть метод, который изменяет размер изображения и устанавливает его положение прокрутки. Обе функции работают, но когда я помещаю их в один вызов, как это
setZoomFactor(1.5); setScrollPosition(new Point(500, 500)); //lets say this will display the center of the image.он будет увеличивать изображение, но не позиционировать его. Он работает, когда я помещаю 2 в отдельную кнопку и нажимаю ее одну за другой. Является ли одна из строк в setZoomFactor выполняется в потоке и продолжается до следующей строки? Нужен совет. Спасибо.
//CODE FOR ZOOMING AND POSITIONING public void setZoomFactor(double zoomFactor) { if(IMAGE_FOUND && image != null && this._zoomFactor != zoomFactor) { this._zoomFactor = zoomFactor; width = originalWidth; height = originalHeight; double newwidth = width * zoomFactor; double newheight = height * zoomFactor; if(newwidth > 3 && newheight > 3) { disposeImage(); image = ImageUtil.scale((BufferedImage) origImage, newwidth, newheight, _antiAlias); garbageCollect(); } jLabel1.setIcon(new ImageIcon(image)); garbageCollect(); } } public void setScrollPosition(Point position) { setScrollX(position.x); setScrollY(position.y); } public int getScrollX() { return jScrollPane1.getHorizontalScrollBar().getValue(); } public void setScrollX(int scroll) { jScrollPane1.getHorizontalScrollBar().setValue(scroll); } private void garbageCollect() { Runtime.getRuntime().gc(); System.gc(); } private void disposeImage() { if(image != null) image.flush(); image = null; jLabel1.setIcon(null); garbageCollect(); }
Что я уже пробовал:
Я попробовал поставить 2 вызова метода на разные кнопки, и это работает. Я думаю, это из-за задержки между щелчками.