为了账号安全,请及时绑定邮箱和手机立即绑定

拉伸屏幕尺寸时最左角的位置圆 - JavaFX

拉伸屏幕尺寸时最左角的位置圆 - JavaFX

萧十郎 2021-11-03 15:53:33
我有一个简单的程序,显示红色圆圈。public void start(Stage stage) {        Circle circle = new Circle(30, 30, 30);  circle.setFill(Color.RED);  Pane pane = new Pane();  pane.getChildren().add(circle);  Scene scene = new Scene(pane);  circle.centerXProperty().bind(Bindings.divide(scene.widthProperty(), 2));  circle.centerYProperty().bind(Bindings.divide(scene.heightProperty(), 2));  stage.setScene(scene);  stage.show();}如何将我的圆圈定位在特定的角落(例如,左上角)并确保即使我调整程序屏幕的大小,它也能保持在那里?
查看完整描述

2 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

使用 aStackPane和 useStackPane.setAlignment(node, position)设置左上角的节点。


import javafx.application.Application;

import javafx.geometry.Pos;

import javafx.scene.Scene;

import javafx.scene.layout.StackPane;

import javafx.scene.paint.Color;

import javafx.scene.shape.Circle;

import javafx.stage.Stage;


/**

 *

 * @author blj0011

 */

public class JavaFXApplication279 extends Application

{


    @Override

    public void start(Stage primaryStage)

    {

        Circle circle = new Circle(30, 30, 30);

        circle.setFill(Color.RED);


        StackPane root = new StackPane(circle);

        StackPane.setAlignment(circle, Pos.TOP_LEFT);


        Scene scene = new Scene(root, 300, 250);


        primaryStage.setTitle("Hello World!");

        primaryStage.setScene(scene);

        primaryStage.show();

    }


    /**

     * @param args the command line arguments

     */

    public static void main(String[] args)

    {

        launch(args);

    }


}


查看完整回答
反对 回复 2021-11-03
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

对于在左上角的位置,圆的中心 x 和中心 y 应等于圆半径。(加上小的偏移量,例如 1 px,以显示圆圈,而没有对圆圈的顶部和左侧部分进行视觉切割。)

对于右下角中心 x 等于框架宽度减去圆半径。并且中心 y 等于框架高度减去圆半径。


查看完整回答
反对 回复 2021-11-03
  • 2 回答
  • 0 关注
  • 168 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信