public void setDocumentPanel(DocumentPanel panel) {
   super.setDocumentPanel(panel);
   scrollPane.getHorizontalScrollBar().setUnitIncrement(mouseWheelUnit);
   scrollPane.getVerticalScrollBar().setUnitIncrement(mouseWheelUnit);
   PDF pdf = panel == null ? null : panel.getPDF();
   if (pdf != this.pdf) {
     view.cleanup();
     this.pdf = pdf;
     if (pdf != null) {
       SwingUtilities.invokeLater(
           new Runnable() {
             public void run() {
               PDFPage page = getDocumentPanel().getPage();
               if (page == null) {
                 page = getDocumentPanel().getPDF().getPage(0);
               }
               setPage(page, Double.NaN, Double.NaN, getZoom());
             }
           });
     }
   }
 }
 public void setZoomMode(int zoommode) {
   super.setZoomMode(zoommode);
   if (getPage() != null) {
     setZoom(getTargetZoom(zoommode, getPage()));
   }
 }