public void tile() { /* Let the superclass do most of the work. */ super.tile(); if (!hasHorizontalScroller()) { if (null != _scalePopUpButton) { _scalePopUpButton.removeFromSuperview(); _scalePopUpButton = null; } } else { if (_scalePopUpButton == null) makeScalePopUpButton(); NSScroller horizScroller = horizontalScroller(); NSMutableRect horizScrollerFrame = new NSMutableRect(horizScroller.frame()); NSRect incrementLineFrame = horizScroller.rectForPart(NSScroller.IncrementLine); NSMutableRect buttonFrame = new NSMutableRect(_scalePopUpButton.frame()); /* Adjust the horizontal scroller size and set the button size and location. */ buttonFrame.setX(horizScrollerFrame.x()); buttonFrame.setHeight(incrementLineFrame.height()); buttonFrame.setY(horizScrollerFrame.y() + incrementLineFrame.y()); horizScrollerFrame.setWidth(horizScrollerFrame.width() - (buttonFrame.width() + 1.0f)); horizScrollerFrame.setX(horizScrollerFrame.x() + (buttonFrame.width() + 1.0f)); horizScroller.setFrame(horizScrollerFrame); _scalePopUpButton.setFrame(buttonFrame); } }