本文整理汇总了Java中javafx.scene.shape.Line.getEndY方法的典型用法代码示例。如果您正苦于以下问题:Java Line.getEndY方法的具体用法?Java Line.getEndY怎么用?Java Line.getEndY使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javafx.scene.shape.Line
的用法示例。
在下文中一共展示了Line.getEndY方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: distanceToLine
import javafx.scene.shape.Line; //导入方法依赖的package包/类
private double distanceToLine(Line l, double pointX, double pointY){
double y1 = l.getStartY();
double y2 = l.getEndY();
double x1 = l.getStartX();
double x2 = l.getEndX();
double px = x2-x1;
double py = y2-y1;
double something = px*px + py*py;
double u = ((pointX - x1) * px + (pointY - y1) * py) / something;
if (u > 1){
u = 1;
}
else if (u < 0){
u = 0;
}
double x = x1 + u * px;
double y = y1 + u * py;
double dx = x - pointX;
double dy = y - pointY;
double dist = Math.sqrt(dx*dx + dy*dy);
return dist;
}
示例2: scale
import javafx.scene.shape.Line; //导入方法依赖的package包/类
public void scale(int buttonWidth, Font font) {
for (Node cell : getChildren()) {
if (cell instanceof Button) {
((Button) cell).setMinSize(buttonWidth, buttonWidth);
((Button) cell).setMaxSize(buttonWidth, buttonWidth);
((Button) cell).setFont(font);
} else if (cell instanceof Line) {
Line line = ((Line) cell);
if (line.getEndX() > 1) {
line.setEndX(buttonWidth);
} else if (line.getEndY() > 1) {
line.setEndY(buttonWidth);
}
}
}
}
示例3: insertRectangles
import javafx.scene.shape.Line; //导入方法依赖的package包/类
protected void insertRectangles() {
if(list.size() > 0){
showArea.getChildren().clear();
//根据添加
for (int i = 0; i < list.size(); i++) {
Rectangle rectangle = new Rectangle(START_X, START_Y + i * HEIGHT, WIDTH, HEIGHT);
rectangle.setFill(Color.WHITE);
rectangle.setStroke(Color.BLACK);
rectangle.setOpacity(0.5);
Text text = new Text(rectangle.getX() + rectangle.getWidth()/2, rectangle.getY() + rectangle.getHeight()/2, list.get(i));
if(i == list.size() - 1){
top = new Text(START_X - WIDTH, START_Y + HEIGHT/2, TOP);
//画箭头
top_mid = new Line(START_X - WIDTH/5*3, START_Y + HEIGHT/2,
START_X, START_Y + HEIGHT/2);
top_left = new Line(top_mid.getEndX(), top_mid.getEndY(),
top_mid.getEndX() - HEIGHT/3, top_mid.getEndY() - HEIGHT/2);
top_right = new Line(top_mid.getEndX(), top_mid.getEndY(),
top_mid.getEndX() - HEIGHT/3, top_mid.getEndY() + HEIGHT/2);
showArea.getChildren().addAll(top, top_mid, top_left, top_right);
}
showArea.getChildren().addAll(rectangle, text);
}
}else {
initialInsert();
}
}
示例4: create
import javafx.scene.shape.Line; //导入方法依赖的package包/类
private Transition create(Line line, double startX, double startY, double endX, double endY) {
double currentStartX = line.getStartX();
double currentStartY = line.getStartY();
double currentEndX = line.getEndX();
double currentEndY = line.getEndY();
return createAnimation(frac -> {
line.setStartX(currentStartX + (startX - currentStartX) * frac);
line.setStartY(currentStartY + (startY - currentStartY) * frac);
line.setEndX(currentEndX + (endX - currentEndX) * frac);
line.setEndY(currentEndY + (endY - currentEndY) * frac);
});
}
示例5: minDistance
import javafx.scene.shape.Line; //导入方法依赖的package包/类
static double minDistance(Wrap relativeWrap, Line line, Wrap wrap) {
Point p1 = new Point(line.getStartX(), line.getStartY());
Point p2 = new Point(line.getEndX(), line.getEndY());
Point p3 = getRectangleSideCenter(wrap.getScreenBounds(), Side.LEFT);
p3.translate(-relativeWrap.getScreenBounds().x, -relativeWrap.getScreenBounds().y);
Point p4 = getRectangleSideCenter(wrap.getScreenBounds(), Side.RIGHT);
p4.translate(-relativeWrap.getScreenBounds().x, -relativeWrap.getScreenBounds().y);
return Math.min(Math.min(distance(p1, p3), distance(p1, p4)), Math.min(distance(p2, p3), distance(p2, p4)));
}
示例6: getLineDescription
import javafx.scene.shape.Line; //导入方法依赖的package包/类
static String getLineDescription(Line line) {
if (line == null) {
return "null";
} else {
return "Line : startX " + line.getStartX() + " startY " + line.getStartY() + " endX " + line.getEndX() + " endY " + line.getEndY();
}
}
示例7: handlePaddleHit
import javafx.scene.shape.Line; //导入方法依赖的package包/类
private void handlePaddleHit(Line leftPaddleLine, Line rightPaddleLine, boolean leftHit) {
Line paddleLine = rightPaddleLine;
int degreesToAdd = 0;
if (leftHit) {
paddleLine = leftPaddleLine;
degreesToAdd = 180;
}
double offsetY = paddleLine.getStartY();
double paddleBot = paddleLine.getEndY() - offsetY;
final double ballCoordWithinPaddle = ball.getCenterY() - offsetY;
//should be a float number between -1 - 1
double normalizedBallPosOnPaddle = (ballCoordWithinPaddle / paddleBot) * 2 - 1;
if (Math.abs(normalizedBallPosOnPaddle) > 1) {
// Print error if not between -1 and 1
//System.err.println("should be between -1 and 1: " + normalizedBallPosOnPaddle);
}
double degreeOnUnitCircle = normalizedBallPosOnPaddle * 70 + degreesToAdd;
Vector2D vectorToAdd = new Vector2D(Math.cos(degreeOnUnitCircle),Math.sin(degreeOnUnitCircle));
ball.setDirection(new Vector2D(-ball.getDirection().getX(), ball.getDirection().getY()));
//ball.getDirection().add(vectorToAdd).normalize();
ball.setSpeed(ball.getSpeed() + 0.01);
}
示例8: start
import javafx.scene.shape.Line; //导入方法依赖的package包/类
@Override // Override the start method in the Application class
public void start(Stage primaryStage) {
// Create a pane
Pane pane = new Pane();
// Create two circles
Circle circle1 = new Circle(Math.random() * 201, Math.random() * 201, 15);
Circle circle2 = new Circle(Math.random() * 201, Math.random() * 201, 15);
// Create a line
Line line = new Line(circle1.getCenterX(), circle1.getCenterY(),
circle2.getCenterX(), circle2.getCenterY());
// Calculate distane between the two centers of the circles
double distance = Math.sqrt(Math.pow(line.getEndX() - line.getStartX(), 2)
+ Math.pow(line.getEndY() - line.getStartY(), 2));
// Create a text
double x = (line.getStartX() + line.getEndX()) / 2;
double y = (line.getStartY() + line.getEndY()) / 2;
Text text = new Text(x, y, String.valueOf(distance));
// Add nodes to pane
pane.getChildren().addAll(circle1, circle2, line, text);
// Create a scene and place it in the stage
Scene scene = new Scene(pane);
primaryStage.setTitle("Exercise_14_21"); // Set the stage title
primaryStage.setScene(scene); // Place the scene in the stage
primaryStage.show(); // Display the stage
}
示例9: start
import javafx.scene.shape.Line; //导入方法依赖的package包/类
@Override // Override the start method in the Application class
public void start(Stage primaryStage) {
// Create two panes
Pane pane1 = new Pane();
pane1.setRotate(180);
pane1.setPadding(new Insets(72, 0, 0, 75));
Pane pane2 = new Pane();
// Create a polyline
Polyline polyline1 = new Polyline();
pane1.getChildren().add(polyline1);
ObservableList<Double> list = polyline1.getPoints();
double scaleFactor = 0.0125;
for (int x = -100; x <= 100; x++) {
list.add(x + 200.0);
list.add(scaleFactor * x * x);
}
// Create two lines
Line lineX = new Line(10, 200, 350, 200);
//pane.getChildren().addAll(stackPane, lineX);
Line lineY = new Line(lineX.getEndX() / 2, 250, lineX.getEndX() / 2, 30);
pane2.getChildren().addAll(pane1, lineX, lineY);
// Create two polylines
Polyline polyline2 = new Polyline();
pane2.getChildren().add(polyline2);
ObservableList<Double> list2 = polyline2.getPoints();
list2.addAll(lineY.getEndX() - 10, lineY.getEndY() + 20,
lineY.getEndX(), lineY.getEndY(), lineY.getEndX() + 10,
lineY. getEndY() + 20);
Polyline polyline3 = new Polyline();
pane2.getChildren().add(polyline3);
ObservableList<Double> list3 = polyline3.getPoints();
list3.addAll(lineX.getEndX() - 20, lineX.getEndY() - 10,
lineX.getEndX(), lineX.getEndY(), lineX.getEndX() - 20,
lineX. getEndY() + 10);
// Create two text objects
Text textX = new Text(lineX.getEndX() - 10, lineX.getEndY() - 20, "X");
Text textY = new Text(lineY.getEndX() + 20, lineY.getEndY() + 10, "Y");
pane2.getChildren().addAll(textX, textY);
// Create a scene and place it in the stage
Scene scene = new Scene(pane2);
primaryStage.setTitle("Exercise_14_18"); // Set the stage title
primaryStage.setScene(scene); // Place the scene in the stage
primaryStage.show(); // Display the stage
}
示例10: getPositionInYAxis
import javafx.scene.shape.Line; //导入方法依赖的package包/类
private double getPositionInYAxis(CustomAxis axis, Line axisLine, double value) {
double yAxisMin = axis.getMinValue();
double yAxisMax = axis.getMaxValue();
double maxValue = yAxisMax - yAxisMin;
value = value - yAxisMin;
double percentage = value / maxValue;
double width = axisLine.getEndY() - axisLine.getStartY();
return axisLine.getStartY() + width * percentage;
}
示例11: getLineAngle
import javafx.scene.shape.Line; //导入方法依赖的package包/类
/**
* Evaluated starting from Ox axis in clockwise direction.
*
* @param line
* @return angle in grads
*/
static double getLineAngle(Line line) {
double OY = line.getEndY() - line.getStartY();
double OX = line.getEndX() - line.getStartX();
return Math.atan(-OY / OX) / Math.PI * 180 + (OX < 0 ? 180 : 0);
}