Image 按像素而不是对齐方式定位文本

Image 按像素而不是对齐方式定位文本,image,javafx,text,label,alignment,Image,Javafx,Text,Label,Alignment,我在Photoshop中创建了自己的按钮和标签背景,但由于边框太大,我发现很难正确定位文本。我找到的每个引用都将文本与类似object.setAlignment(Pos.BASELINE_LEFT)的内容对齐,但这实际上与我的按钮和标签的边框重叠。我相信我需要能够定位它的像素距离的边缘,但我不知道这是如何做到的 我认为一种可行的方法是将标签背景放在ImageView中,将ImageView放在StackPane中,并将GridPane放在ImageView的顶部。然后,我会在GridPane中

我在Photoshop中创建了自己的按钮和标签背景,但由于边框太大,我发现很难正确定位文本。我找到的每个引用都将文本与类似
object.setAlignment(Pos.BASELINE_LEFT)
的内容对齐,但这实际上与我的按钮和标签的边框重叠。我相信我需要能够定位它的像素距离的边缘,但我不知道这是如何做到的

我认为一种可行的方法是将标签背景放在ImageView中,将ImageView放在StackPane中,并将GridPane放在ImageView的顶部。然后,我会在GridPane中的第1列第0行放置一个TextField,并在第一列上设置一个列约束,以将文本对齐到我想要的位置,但必须有更好的方法

    ImageView imageView = new ImageView(new Image("C:\\file.png"));
    StackPane stackPane = new StackPane();
    GridPane gridPane = new GridPane();
    TextField textField = new TextField("TextField text");
    gridPane.add(textField, 1, 0);
    ColumnConstraints constraints = new ColumnConstraints(10);
    gridPane.getColumnConstraints().add(constraints);
    stackPane.getChildren().addAll(imageView, gridPane);

整个背景有一个图像文件,还是每个控件有单独的背景?您可能希望使用CSS设置控件样式,或者使用适当的渐变重新创建背景,或者设置
-fx background image
属性。请参见[。我认为我更希望UI的空白区域吸收屏幕分辨率之间的差异,以便我可以在按钮和标签中保持预期的高x宽比。我认为,要做到这一点,我不能将整个背景作为一个图像。因此,为什么不将图像设置为相应控件的背景(按钮、标签等)?