/** * Called to process events. Mouse events will be rewritten to indicate the position in the * document clicked, instead of the position of the panel. * * @param event to process. */ protected void processEvent(AWTEvent event) { try { if (event instanceof MouseEvent) { final Point scrollPosition = getScrollPosition(); if (scrollPosition != null) { final MouseEvent mouseEvent = (MouseEvent) event; event = new MouseEvent( (Component) mouseEvent.getSource(), mouseEvent.getID(), mouseEvent.getWhen(), mouseEvent.getModifiers(), mouseEvent.getX() + scrollPosition.x, mouseEvent.getY() + scrollPosition.y, mouseEvent.getClickCount(), mouseEvent.isPopupTrigger()); } } } catch (final Throwable exp) { exp.printStackTrace(DjVuOptions.err); System.gc(); } super.processEvent(event); }
/** * Called to process scrollbar events. * * @param event to process. */ public void adjustmentValueChanged(AdjustmentEvent event) { try { final Scrollbar hScroll = getScrollbar(Scrollbar.HORIZONTAL); final Scrollbar vScroll = getScrollbar(Scrollbar.VERTICAL); final Point scrollPosition = getScrollPosition(); setScrollPosition( (hScroll != null) ? hScroll.getValue() : scrollPosition.x, (vScroll != null) ? vScroll.getValue() : scrollPosition.y); } catch (final Throwable exp) { exp.printStackTrace(DjVuOptions.err); System.gc(); } }
/** * Called with a DjVuBean property has changed. * * @param e the PropertyChangeEvent. */ public void propertyChange(final PropertyChangeEvent e) { try { final String name = e.getPropertyName(); if ("page".equalsIgnoreCase(name)) { final Object object = e.getNewValue(); if (object instanceof Number) { setCheckedPage(((Number) object).intValue() - 1); } } else if ("propertyName".equalsIgnoreCase(name)) { final String propertyName = (String) e.getNewValue(); if ("navpane".equalsIgnoreCase(propertyName)) { setVisible("Outline".equalsIgnoreCase(djvuBean.properties.getProperty(propertyName))); } } } catch (final Throwable exp) { exp.printStackTrace(DjVuOptions.err); System.gc(); } }