Java examples for JavaFX:Rectangle
center Point Of JavaFX Rectangle
import javafx.geometry.Point2D; import javafx.scene.shape.Rectangle; public class Main{ /**/*ww w .j a v a 2 s. c om*/ * @param rec The rectangle. * @return The Point2D coordinates of the center of the given rectangle. */ public static Point2D centerPointOfRectangle(Rectangle rec) { return pointOnRectangle(rec, Direction.CENTER); } /** * @param rec The rectangle. * @param dir The direction. * @return The coordinates on the rectangle for the direction you asked. */ public static Point2D pointOnRectangle(Rectangle rec, Direction dir) { if (rec == null) { throw new IllegalArgumentException("Rectangle can't be null."); } if (dir == null) { throw new IllegalArgumentException("Direction can't be null."); } double centerX; double centerY; switch (dir) { case CENTER: centerX = rec.getX() + (rec.getWidth() / 2); centerY = rec.getY() + (rec.getHeight() / 2); return new Point2D(centerX, centerY); case TOP: centerX = rec.getX() + (rec.getWidth() / 2); centerY = rec.getY(); return new Point2D(centerX, centerY); case BOTTOM: centerX = rec.getX() + (rec.getWidth() / 2); centerY = rec.getY() + rec.getHeight(); return new Point2D(centerX, centerY); case LEFT: centerX = rec.getX(); centerY = rec.getY() + (rec.getHeight() / 2); return new Point2D(centerX, centerY); case RIGHT: centerX = rec.getX() + rec.getWidth(); centerY = rec.getY() + (rec.getHeight() / 2); return new Point2D(centerX, centerY); case TOP_LEFT: centerX = rec.getX(); centerY = rec.getY(); return new Point2D(centerX, centerY); case TOP_RIGHT: centerX = rec.getX() + rec.getWidth(); centerY = rec.getY(); return new Point2D(centerX, centerY); case BOTTOM_RIGHT: centerX = rec.getX() + rec.getWidth(); centerY = rec.getY() + rec.getHeight(); return new Point2D(centerX, centerY); case BOTTOM_LEFT: centerX = rec.getX(); centerY = rec.getY() + rec.getHeight(); return new Point2D(centerX, centerY); default: throw new IllegalArgumentException("For the direction " + dir + " there's no point on the rectangle."); } } }