/** * Creates a column-footer viewport if necessary, sets its view, and then adds the column-footer viewport to the * scrollpane. For example: * <pre> * JScrollPane scrollpane = new JideScrollPane(); * scrollpane.setViewportView(myBigComponentToScroll); * scrollpane.setColumnFooterView(myBigComponentsColumnFooter); * </pre> * * @param view the component to display as the column footer * @see #setColumnFooter(javax.swing.JViewport) * @see JViewport#setView(java.awt.Component) */ public void setColumnFooterView(Component view) { if (null == getColumnFooter()) { setColumnFooter(createViewport()); } getColumnFooter().setView(view); }
@Override public void syncWithScrollPane(JScrollPane sp) { super.syncWithScrollPane(sp); if (sp instanceof JideScrollPane) { _rowFoot = ((JideScrollPane) sp).getRowFooter(); _colFoot = ((JideScrollPane) sp).getColumnFooter(); _subColHead = ((JideScrollPane) sp).getSubColumnHeader(); _hLeft = ((JideScrollPane) sp).getScrollBarCorner(HORIZONTAL_LEFT); _hRight = ((JideScrollPane) sp).getScrollBarCorner(HORIZONTAL_RIGHT); _vTop = ((JideScrollPane) sp).getScrollBarCorner(VERTICAL_TOP); _vBottom = ((JideScrollPane) sp).getScrollBarCorner(VERTICAL_BOTTOM); _subUpperLeft = sp.getCorner(SUB_UPPER_LEFT); _subUpperRight = sp.getCorner(SUB_UPPER_RIGHT); } }
/** * Removes the old columnFooter, if it exists. If the new columnFooter isn't <code>null</code>, sync the x * coordinate of the its viewPosition with the viewport (if there is one) and then add it to the scrollpane. * * @param columnFooter the new column footer to be used; if <code>null</code> the old column footer is still removed * and the new columnFooter is set to <code>null</code> * @see #getColumnFooter * @see #setColumnFooterView(java.awt.Component) */ public void setColumnFooter(JViewport columnFooter) { JViewport old = getColumnFooter(); _columnFooter = columnFooter; if (null != columnFooter) { add(columnFooter, COLUMN_FOOTER); } else if (null != old) { remove(old); } firePropertyChange("columnFooter", old, columnFooter); revalidate(); repaint(); if (old != null) { JideSwingUtilities.unsynchronizeView(old, getViewport()); JideSwingUtilities.unsynchronizeView(getViewport(), old); } if (_columnFooter != null) { JideSwingUtilities.synchronizeView(_columnFooter, getViewport(), SwingConstants.HORIZONTAL); JideSwingUtilities.synchronizeView(getViewport(), _columnFooter, SwingConstants.HORIZONTAL); } }