Edit C:\Program Files\Java\jdk1.8.0_121\com\sun\javafx\robot\impl\FXRobotHelper.java
/* * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package com.sun.javafx.robot.impl; import javafx.collections.ObservableList; import javafx.event.EventType; import javafx.scene.Node; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; import javafx.scene.input.MouseButton; import javafx.scene.input.MouseEvent; import javafx.scene.paint.Color; import javafx.stage.Stage; import com.sun.javafx.robot.FXRobotImage; import javafx.scene.input.ScrollEvent; /** * Utility class class used for accessing certain implementation-specific * runtime functionality. * */ public class FXRobotHelper { static FXRobotInputAccessor inputAccessor; static FXRobotSceneAccessor sceneAccessor; static FXRobotStageAccessor stageAccessor; static FXRobotImageConvertor imageConvertor; /** * Returns a ObservableList containing this passed parent's children. * * Note that application must use/reference javafx.scene.Scene class prior to * using this method (for example, by creating a scene). * * @param p Parent subclass to get children for * @return ObservableList containing this parent's children */ public static ObservableList<Node> getChildren(Parent p) { if (sceneAccessor == null) { // TODO: force scene initialization } return sceneAccessor.getChildren(p); } /** * Returns a ObservableList containing {@code Stage}s created at this point. * * Note that application must use/reference javafx.stage.Stage class prior to * using this method (for example, by creating a Stage). * * @return ObservableList containing existing stages */ public static ObservableList<Stage> getStages() { if (stageAccessor == null) { // TODO: force stage initialization } return stageAccessor.getStages(); } /** * Converts passed integer in IntArgb pixel format to Color. * @return Color object */ public static Color argbToColor(int argb) { int a = argb >> 24; a = a & 0xff; float aa = ((float)a) / 255f; int r = argb >> 16; r = r & 0xff; int g = argb >> 8; g = g & 0xff; int b = argb; b = b & 0xff; return Color.rgb(r, g, b, aa); } /** * @treatAsPrivate implementation detail */ public static void setInputAccessor(FXRobotInputAccessor a) { if (inputAccessor != null) { System.out.println("Warning: Input accessor is already set: " + inputAccessor); Thread.dumpStack(); } inputAccessor = a; } /** * @treatAsPrivate implementation detail */ public static void setSceneAccessor(FXRobotSceneAccessor a) { if (sceneAccessor != null) { System.out.println("Warning: Scene accessor is already set: " + sceneAccessor); Thread.dumpStack(); } sceneAccessor = a; } /** * @treatAsPrivate implementation detail */ public static void setImageConvertor(FXRobotImageConvertor ic) { if (imageConvertor != null) { System.out.println("Warning: Image convertor is already set: " + imageConvertor); Thread.dumpStack(); } imageConvertor = ic; } /** * @treatAsPrivate implementation detail */ public static void setStageAccessor(FXRobotStageAccessor a) { if (stageAccessor != null) { System.out.println("Warning: Stage accessor already set: " + stageAccessor); Thread.dumpStack(); } stageAccessor = a; } /** * @treatAsPrivate implementation detail */ public static abstract class FXRobotStageAccessor { public abstract ObservableList<Stage> getStages(); } /** * @treatAsPrivate implementation detail */ public static abstract class FXRobotImageConvertor { public abstract FXRobotImage convertToFXRobotImage(Object platformImage); } /** * @treatAsPrivate implementation detail */ public static abstract class FXRobotInputAccessor { public abstract int getCodeForKeyCode(KeyCode keyCode); public abstract KeyCode getKeyCodeForCode(int code); public abstract KeyEvent createKeyEvent( EventType<? extends KeyEvent> eventType, KeyCode keyCode, String keyChar, String keyText, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown); public abstract MouseEvent createMouseEvent( EventType<? extends MouseEvent> eventType, int x, int y, int screenX, int screenY, MouseButton button, int clickCount, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown, boolean popupTrigger, boolean primaryButtonDown, boolean middleButtonDown, boolean secondaryButtonDown); public abstract ScrollEvent createScrollEvent( EventType<? extends ScrollEvent> eventType, int scrollX, int scrollY, ScrollEvent.HorizontalTextScrollUnits xTextUnits, int xText, ScrollEvent.VerticalTextScrollUnits yTextUnits, int yText, int x, int y, int screenX, int screenY, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown); } /** * @treatAsPrivate implementation detail */ public static abstract class FXRobotSceneAccessor { public abstract void processKeyEvent(Scene scene, KeyEvent keyEvent); public abstract void processMouseEvent(Scene scene, MouseEvent mouseEvent); public abstract void processScrollEvent(Scene scene, ScrollEvent scrollEvent); public abstract ObservableList<Node> getChildren(Parent parent); public abstract Object renderToImage(Scene scene, Object platformImage); } }
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de