File tree Expand file tree Collapse file tree 2 files changed +28
-11
lines changed
modules/javafx.controls/src
main/java/javafx/scene/control/skin
test/java/test/javafx/scene/control Expand file tree Collapse file tree 2 files changed +28
-11
lines changed Original file line number Diff line number Diff line change @@ -2210,17 +2210,17 @@ private void stopDrag() {
22102210 if (dragState == DragState .START ) {
22112211 // No drag action was performed.
22122212 resetDrag ();
2213- return ;
2214- }
2215- // Animate tab header being dragged to its final position.
2216- dragHeaderSourceX = dragTabHeader . getLayoutX () ;
2217- dragHeaderTransitionX = dragHeaderDestX - dragHeaderSourceX ;
2218- dragHeaderAnim . playFromStart ();
2219-
2220- // Reorder the tab list.
2221- if ( dragHeaderStartX != dragHeaderDestX ) {
2222- (( TabObservableList < Tab >) getSkinnable (). getTabs ()). reorder ( dragTabHeader . tab , swapTab ) ;
2223- swapTab = null ;
2213+ } else if ( dragState == DragState . REORDER ) {
2214+ // Animate tab header being dragged to its final position.
2215+ dragHeaderSourceX = dragTabHeader . getLayoutX ();
2216+ dragHeaderTransitionX = dragHeaderDestX - dragHeaderSourceX ;
2217+ dragHeaderAnim . playFromStart () ;
2218+
2219+ // Reorder the tab list.
2220+ if ( dragHeaderStartX != dragHeaderDestX ) {
2221+ (( TabObservableList < Tab >) getSkinnable (). getTabs ()). reorder ( dragTabHeader . tab , swapTab );
2222+ swapTab = null ;
2223+ }
22242224 }
22252225 }
22262226
Original file line number Diff line number Diff line change @@ -463,6 +463,23 @@ private void show() {
463463 assertSame (TabPane .TabDragPolicy .FIXED , tabPane .getTabDragPolicy ());
464464 }
465465
466+ @ Test public void tabDragPolicyReorderAndAsymmetricMouseEvent () {
467+ tabPane .setTabDragPolicy (TabPane .TabDragPolicy .REORDER );
468+ tabPane .getTabs ().add (tab1 );
469+ tabPane .getTabs ().add (tab2 );
470+ root .getChildren ().add (tabPane );
471+ show ();
472+
473+ root .layout ();
474+
475+ double xval = (tabPane .localToScene (tabPane .getLayoutBounds ())).getMinX ();
476+ double yval = (tabPane .localToScene (tabPane .getLayoutBounds ())).getMinY ();
477+
478+ SceneHelper .processMouseEvent (scene ,
479+ MouseEventGenerator .generateMouseEvent (MouseEvent .MOUSE_RELEASED , xval +75 , yval +20 ));
480+ tk .firePulse ();
481+ }
482+
466483 @ Test public void setRotateGraphicAndSeeValueIsReflectedInModel () {
467484 tabPane .setRotateGraphic (true );
468485 assertTrue (tabPane .rotateGraphicProperty ().getValue ());
You can’t perform that action at this time.
0 commit comments