modules/javafx.controls/src/main/java/javafx/scene/control/skin/ComboBoxPopupControl.java

Print this page

        

*** 411,422 **** popupNeedsReconfiguring = true; reconfigurePopup(); final ComboBoxBase<T> comboBoxBase = getSkinnable(); _popup.show(comboBoxBase.getScene().getWindow(), ! snapPosition(p.getX()), ! snapPosition(p.getY())); popupContent.requestFocus(); // second call to sizePopup here to enable proper sizing _after_ the popup // has been displayed. See RT-37622 for more detail. --- 411,422 ---- popupNeedsReconfiguring = true; reconfigurePopup(); final ComboBoxBase<T> comboBoxBase = getSkinnable(); _popup.show(comboBoxBase.getScene().getWindow(), ! snapPositionX(p.getX()), ! snapPositionY(p.getY())); popupContent.requestFocus(); // second call to sizePopup here to enable proper sizing _after_ the popup // has been displayed. See RT-37622 for more detail.
*** 429,447 **** if (popupContent instanceof Region) { // snap to pixel final Region r = (Region) popupContent; // 0 is used here for the width due to RT-46097 ! double prefHeight = snapSize(r.prefHeight(0)); ! double minHeight = snapSize(r.minHeight(0)); ! double maxHeight = snapSize(r.maxHeight(0)); ! double h = snapSize(Math.min(Math.max(prefHeight, minHeight), Math.max(minHeight, maxHeight))); ! ! double prefWidth = snapSize(r.prefWidth(h)); ! double minWidth = snapSize(r.minWidth(h)); ! double maxWidth = snapSize(r.maxWidth(h)); ! double w = snapSize(Math.min(Math.max(prefWidth, minWidth), Math.max(minWidth, maxWidth))); popupContent.resize(w, h); } else { popupContent.autosize(); } --- 429,447 ---- if (popupContent instanceof Region) { // snap to pixel final Region r = (Region) popupContent; // 0 is used here for the width due to RT-46097 ! double prefHeight = snapSizeY(r.prefHeight(0)); ! double minHeight = snapSizeY(r.minHeight(0)); ! double maxHeight = snapSizeY(r.maxHeight(0)); ! double h = snapSizeY(Math.min(Math.max(prefHeight, minHeight), Math.max(minHeight, maxHeight))); ! ! double prefWidth = snapSizeX(r.prefWidth(h)); ! double minWidth = snapSizeX(r.minWidth(h)); ! double maxWidth = snapSizeX(r.maxWidth(h)); ! double w = snapSizeX(Math.min(Math.max(prefWidth, minWidth), Math.max(minWidth, maxWidth))); popupContent.resize(w, h); } else { popupContent.autosize(); }