private ControlPanel(JScrollPane scrollPane) { this.setLayout(new BorderLayout()); this.setOpaque(false); this.vScrollBar = new JMyScrollBar(Adjustable.VERTICAL); scrollPane.setVerticalScrollBar(this.vScrollBar); scrollPane.remove(this.vScrollBar); if (scrollPane.getVerticalScrollBarPolicy() != ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER) { this.add(this.vScrollBar, BorderLayout.EAST); } this.hScrollBar = new JMyScrollBar(Adjustable.HORIZONTAL); scrollPane.setHorizontalScrollBar(this.hScrollBar); scrollPane.remove(this.hScrollBar); if (scrollPane.getHorizontalScrollBarPolicy() != ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER) { this.add(this.hScrollBar, BorderLayout.SOUTH); } } }
@Override public int getHorizontalScrollBarPolicy() { if (horizontalScrollBarIsNeeded) { return JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS; } else { return super.getHorizontalScrollBarPolicy(); } }
@ScriptFunction @Override public int getHorizontalScrollBarPolicy() { return super.getHorizontalScrollBarPolicy(); }
public void layoutContainer(Container parent) { super.layoutContainer(parent); Component view = (viewport != null) ? viewport.getView() : null; Dimension viewPrefSize = (view != null) ? view.getPreferredSize() : new Dimension(0,0); Dimension extentSize = (viewport != null) ? viewport.toViewCoordinates(viewport.getSize()) : new Dimension(0,0); boolean viewTracksViewportWidth = (view instanceof Scrollable) && ((Scrollable)view).getScrollableTracksViewportWidth(); boolean hsbNeeded = !viewTracksViewportWidth && viewPrefSize.width > extentSize.width; // enable horizontal scrollbar only if it is needed if (hsb != null) { hsb.setEnabled(hsbNeeded); } // make dependent horizontal scrollbar visible by setting scrollbar policy JScrollPane scrollPane = (JScrollPane)parent; if (scrollPane.getHorizontalScrollBarPolicy() != JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS) { int newPolicy = hsbNeeded ? JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS : JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED; if (newPolicy != dependentScrollPane.getHorizontalScrollBarPolicy()) { dependentScrollPane.setHorizontalScrollBarPolicy(newPolicy); dependentScrollPane.getViewport().invalidate(); } } } }
public void layoutContainer(Container parent) { super.layoutContainer(parent); Component view = (viewport != null) ? viewport.getView() : null; Dimension viewPrefSize = (view != null) ? view.getPreferredSize() : new Dimension(0, 0); Dimension extentSize = (viewport != null) ? viewport.toViewCoordinates(viewport.getSize()) : new Dimension(0, 0); boolean viewTracksViewportWidth = (view instanceof Scrollable) && ((Scrollable) view).getScrollableTracksViewportWidth(); boolean hsbNeeded = !viewTracksViewportWidth && (viewPrefSize.width > extentSize.width); // enable horizontal scrollbar only if it is needed if (hsb != null) { hsb.setEnabled(hsbNeeded); } // make dependent horizontal scrollbar visible by setting scrollbar policy JScrollPane scrollPane = (JScrollPane) parent; if (scrollPane.getHorizontalScrollBarPolicy() != JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS) { int newPolicy = hsbNeeded ? JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS : JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED; if (newPolicy != dependentScrollPane.getHorizontalScrollBarPolicy()) { dependentScrollPane.setHorizontalScrollBarPolicy(newPolicy); dependentScrollPane.getViewport().invalidate(); } } } }
public void layoutContainer(Container parent) { super.layoutContainer(parent); Component view = (viewport != null) ? viewport.getView() : null; Dimension viewPrefSize = (view != null) ? view.getPreferredSize() : new Dimension(0,0); Dimension extentSize = (viewport != null) ? viewport.toViewCoordinates(viewport.getSize()) : new Dimension(0,0); boolean viewTracksViewportWidth = (view instanceof Scrollable) && ((Scrollable)view).getScrollableTracksViewportWidth(); boolean hsbNeeded = !viewTracksViewportWidth && viewPrefSize.width > extentSize.width; // enable horizontal scrollbar only if it is needed if (hsb != null) { hsb.setEnabled(hsbNeeded); } // make dependent horizontal scrollbar visible by setting scrollbar policy JScrollPane scrollPane = (JScrollPane)parent; if (scrollPane.getHorizontalScrollBarPolicy() != JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS) { int newPolicy = hsbNeeded ? JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS : JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED; if (newPolicy != dependentScrollPane.getHorizontalScrollBarPolicy()) { dependentScrollPane.setHorizontalScrollBarPolicy(newPolicy); dependentScrollPane.getViewport().invalidate(); } } } }
hsbPolicy = scrollPane.getHorizontalScrollBarPolicy();
if (ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER == pane.getHorizontalScrollBarPolicy()) { viewPosition.x = 0; viewSize.width = extentSize.width;
hsbPolicy = scrollPane.getHorizontalScrollBarPolicy();
hsbPolicy = scrollPane.getHorizontalScrollBarPolicy();
/** * This method is invoked after the ScrollPaneLayout is set as the * LayoutManager of a <code>JScrollPane</code>. * It initializes all of the internal fields that * are ordinarily set by <code>addLayoutComponent</code>. For example: * <pre> * ScrollPaneLayout mySPLayout = new ScrollPanelLayout() { * public void layoutContainer(Container p) { * super.layoutContainer(p); * // do some extra work here ... * } * }; * scrollpane.setLayout(mySPLayout): * </pre> */ public void syncWithScrollPane(JScrollPane sp) { viewport = sp.getViewport(); vsb = sp.getVerticalScrollBar(); hsb = sp.getHorizontalScrollBar(); rowHead = sp.getRowHeader(); colHead = sp.getColumnHeader(); lowerLeft = sp.getCorner(LOWER_LEFT_CORNER); lowerRight = sp.getCorner(LOWER_RIGHT_CORNER); upperLeft = sp.getCorner(UPPER_LEFT_CORNER); upperRight = sp.getCorner(UPPER_RIGHT_CORNER); vsbPolicy = sp.getVerticalScrollBarPolicy(); hsbPolicy = sp.getHorizontalScrollBarPolicy(); }
/** * This method is invoked after the ScrollPaneLayout is set as the * LayoutManager of a <code>JScrollPane</code>. * It initializes all of the internal fields that * are ordinarily set by <code>addLayoutComponent</code>. For example: * <pre> * ScrollPaneLayout mySPLayout = new ScrollPanelLayout() { * public void layoutContainer(Container p) { * super.layoutContainer(p); * // do some extra work here ... * } * }; * scrollpane.setLayout(mySPLayout): * </pre> */ public void syncWithScrollPane(JScrollPane sp) { viewport = sp.getViewport(); vsb = sp.getVerticalScrollBar(); hsb = sp.getHorizontalScrollBar(); rowHead = sp.getRowHeader(); colHead = sp.getColumnHeader(); lowerLeft = sp.getCorner(LOWER_LEFT_CORNER); lowerRight = sp.getCorner(LOWER_RIGHT_CORNER); upperLeft = sp.getCorner(UPPER_LEFT_CORNER); upperRight = sp.getCorner(UPPER_RIGHT_CORNER); vsbPolicy = sp.getVerticalScrollBarPolicy(); hsbPolicy = sp.getHorizontalScrollBarPolicy(); }
public Dimension minimumLayoutSize(Container parent) { JScrollPane scrollPane = (JScrollPane) parent; vsbPolicy = scrollPane.getVerticalScrollBarPolicy(); hsbPolicy = scrollPane.getHorizontalScrollBarPolicy();
hsbPolicy = scrollPane.getHorizontalScrollBarPolicy();
hsbPolicy = scrollPane.getHorizontalScrollBarPolicy(); boolean flatLayout = scrollPane instanceof JideScrollPane && ((JideScrollPane) scrollPane).isFlatLayout();
hsbPolicy = scrollPane.getHorizontalScrollBarPolicy();
private void superlayoutContainer(Container parent) { JScrollPane scrollPane = (JScrollPane) parent; vsbPolicy = scrollPane.getVerticalScrollBarPolicy(); hsbPolicy = scrollPane.getHorizontalScrollBarPolicy();
private void superlayoutContainer(final Container parent) { final JScrollPane scrollPane = (JScrollPane)parent; vsbPolicy = scrollPane.getVerticalScrollBarPolicy(); hsbPolicy = scrollPane.getHorizontalScrollBarPolicy();
hsbPolicy = scrollPane.getHorizontalScrollBarPolicy();
hsbPolicy = scrollPane.getHorizontalScrollBarPolicy();