當前位置: 首頁>>代碼示例>>Java>>正文


Java Transition.setOnFinished方法代碼示例

本文整理匯總了Java中javafx.animation.Transition.setOnFinished方法的典型用法代碼示例。如果您正苦於以下問題:Java Transition.setOnFinished方法的具體用法?Java Transition.setOnFinished怎麽用?Java Transition.setOnFinished使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在javafx.animation.Transition的用法示例。


在下文中一共展示了Transition.setOnFinished方法的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: to

import javafx.animation.Transition; //導入方法依賴的package包/類
/**
 * Create an operation dragging from an absolute position to another absolute
 * position in the provided duration
 * 
 * @param d
 *            the duration
 * @param fromX
 *            the start x coordinate on screen
 * @param fromY
 *            the start y coordinate on screen
 * @param toX
 *            the end x coordinate on screen
 * @param toY
 *            the end y coordinate on screen
 * @return the operation
 */
public static Operation to(Duration d, double fromX, double fromY, double toX, double toY) {
	return (r) -> {
		r.mouseMoveTo((int) fromX, (int) fromY);

		BlockCondition<Void> b = new BlockCondition<>();
		double dx = toX - fromX;
		double dy = toY - fromY;
		Transition tt = new Transition() {
			{
				setCycleDuration(javafx.util.Duration.millis(d.toMillis()));
			}

			@Override
			protected void interpolate(double frac) {
				r.mouseMoveTo((int) (fromX + dx * frac), (int) (fromY + dy * frac));
			}
		};
		tt.setOnFinished(e -> b.release(null));
		tt.play();
		r.block(b);
		return r;
	};
}
 
開發者ID:BestSolution-at,項目名稱:FX-Test,代碼行數:40,代碼來源:Drag.java

示例2: by

import javafx.animation.Transition; //導入方法依賴的package包/類
/**
 * Create an operation dragging from an absolute position to a relative position
 * from there
 * 
 * @param d
 *            the duration
 * @param fromX
 *            the start x coordinate on screen
 * @param fromY
 *            the start y coordinate on screen
 * @param dx
 *            delta of the x coordinate
 * @param dy
 *            delta of the y coordinate
 * @return the operation
 */
public static Operation by(Duration d, double fromX, double fromY, double dx, double dy) {
	return (r) -> {
		r.mouseMoveTo((int) fromX, (int) fromY);
		r.press(MouseButton.PRIMARY);
		BlockCondition<Void> b = new BlockCondition<>();
		Transition tt = new Transition() {
			{
				setCycleDuration(javafx.util.Duration.millis(d.toMillis()));
			}

			@Override
			protected void interpolate(double frac) {
				r.mouseMoveTo((int) (fromX + dx * frac), (int) (fromY + dy * frac));
			}
		};
		tt.setOnFinished(e -> b.release(null));
		tt.play();
		r.block(b);
		r.release(MouseButton.PRIMARY);
		return r;
	};
}
 
開發者ID:BestSolution-at,項目名稱:FX-Test,代碼行數:39,代碼來源:Drag.java

示例3: by

import javafx.animation.Transition; //導入方法依賴的package包/類
/**
 * Create operation who moves the cursor from the current mouse position by the
 * provided delta in the provided time
 * 
 * @param d
 *            duration it takes move the delta
 * 
 * @param dx
 *            the x delta
 * @param dy
 *            the y delta
 * @return operation
 */
public static Operation by(Duration d, double dx, double dy) {
	return (r) -> {
		BlockCondition<Void> b = new BlockCondition<>();
		int mouseX = r.mouseX();
		int mouseY = r.mouseY();
		Transition tt = new Transition() {
			{
				setCycleDuration(javafx.util.Duration.millis(d.toMillis()));
			}

			@Override
			protected void interpolate(double frac) {
				r.mouseMoveTo((int) (mouseX + dx * frac), (int) (mouseY + dy * frac));
			}
		};
		tt.setOnFinished(e -> b.release(null));
		tt.play();
		r.block(b);
		return r;
	};
}
 
開發者ID:BestSolution-at,項目名稱:FX-Test,代碼行數:35,代碼來源:Move.java

示例4: to

import javafx.animation.Transition; //導入方法依賴的package包/類
/**
 * Move the cursor to the x/y position on the screen
 * 
 * @param d
 *            the duration it takes to reach the provided position
 * 
 * @param x
 *            the absolute x coordinate on the screen
 * @param y
 *            the absolute y coordinate on the screen
 * @return operation
 */
public static Operation to(Duration d, double x, double y) {
	return (r) -> {
		BlockCondition<Void> b = new BlockCondition<>();
		int mouseX = r.mouseX();
		int mouseY = r.mouseY();
		double dx = x - mouseX;
		double dy = y - mouseY;
		Transition tt = new Transition() {
			{
				setCycleDuration(javafx.util.Duration.millis(d.toMillis()));
			}

			@Override
			protected void interpolate(double frac) {
				r.mouseMoveTo((int) (mouseX + dx * frac), (int) (mouseY + dy * frac));
			}
		};
		tt.setOnFinished(e -> b.release(null));
		tt.play();
		r.block(b);
		return r;
	};
}
 
開發者ID:BestSolution-at,項目名稱:FX-Test,代碼行數:36,代碼來源:Move.java

示例5: displayWinningScreen

import javafx.animation.Transition; //導入方法依賴的package包/類
private void displayWinningScreen()
{
    final int maxSize = 100;

    scene.lookup("#endGameScreen").setStyle("visibility: visible");

    displayOverlay();

    Label endGameText = (Label)scene.lookup("#endGameText");
    endGameText.setText("You Win!");
    endGameText.getStyleClass().add("winningLabel");
    endGameText.setStyle("visibility: visible");

    Transition fontIncrease = new Transition() {
        {
            setCycleDuration(Duration.millis(1000));
        }
        @Override
        protected void interpolate(double frac) {
            endGameText.setStyle("-fx-font-size: " + Math.pow(frac, 3) * maxSize + "px");
        }
    };
    fontIncrease.setOnFinished(event -> scene.lookup("#endGameButtons").setStyle("visibility: visible"));
    fontIncrease.play();
}
 
開發者ID:YorkCS2016,項目名稱:Antipleurdawn,代碼行數:26,代碼來源:BoardHandler.java

示例6: MulticastEdgeRenderer

import javafx.animation.Transition; //導入方法依賴的package包/類
public MulticastEdgeRenderer() {

        circle.setFill(Color.WHITE);
        circle.setVisible(false);



        animator = new Transition() {

            {
                setCycleDuration(Duration.millis(animationTime));
            }

            @Override
            protected void interpolate(double frac) {

                circle.setRadius(frac * 1000);
                circle.setOpacity(1 - frac);

            }
        };
        animator.setCycleCount(2);
        animator.setOnFinished(e -> {
            circle.setVisible(false);
        });
    }
 
開發者ID:truffle-hog,項目名稱:truffle-hog,代碼行數:27,代碼來源:MulticastEdgeRenderer.java

示例7: doStep

import javafx.animation.Transition; //導入方法依賴的package包/類
@Override
public void doStep(final MachineContext context) {
    WordleSkin wordleSkin = (WordleSkin) context.get("WordleSkin");
    ImageMosaicDataProvider dataProvider = context.getDataProvider(ImageMosaicDataProvider.class);
    pane = wordleSkin.getPane();
    if (dataProvider.getImages().size() < 35) {
        context.proceed();
    } else {
        Transition createMosaicTransition = createMosaicTransition(dataProvider.getImages());
        createMosaicTransition.setOnFinished((ActionEvent event) -> {
            executeAnimations(context);
        });

        createMosaicTransition.play();
    }
}
 
開發者ID:TweetWallFX,項目名稱:TweetwallFX,代碼行數:17,代碼來源:ImageMosaicStep.java

示例8: play

import javafx.animation.Transition; //導入方法依賴的package包/類
public void play(Transition transition)
{
	Consumer<CountDownLatch> action = new Consumer<CountDownLatch>()
	{
		@Override
		public void accept(CountDownLatch latch)
		{
			transition.setOnFinished((event) -> latch.countDown());
			transition.play();
		}
	};
	actLater(action);
	
}
 
開發者ID:GeePawHill,項目名稱:contentment,代碼行數:15,代碼來源:JavaFxRunner.java


注:本文中的javafx.animation.Transition.setOnFinished方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。