如何使用JavaFX在图像上的元素上绘制一个矩形?

时间:2015-06-15 11:32:51

标签: javafx

我有一个显示在我的JavaFX应用程序上的图像。给定坐标,我必须使用矩形在图像上显示该部分。例如,如果图像上有文本字段并且我给出了文本字段的坐标,则图像上的文本字段上应显示一个矩形(就像突出显示它一样)。 绘制矩形很容易,但我很难将其定位在图像上。请帮忙。

2 个答案:

答案 0 :(得分:5)

您应该使用不会自动布局其子项的父组件。为此,您可以使用Pane

@Override
public void start( final Stage primaryStage )
{
    ImageView imageView = new ImageView( ... );
    // Optional: locating the image at iX-iY
    // imageView.setX( iX );
    // imageView.setY( iY );

    Rectangle r = new Rectangle( rX, rY, width, height );

    // Add rectangle at the last, so it shows up on the top of other children
    Pane pane = new Pane( imageView, r );

    final Scene scene = new Scene( pane, 400, 300 );
    primaryStage.setScene( scene );
    primaryStage.show();
}

答案 1 :(得分:2)

您可以使用StackPane

StackPane stackPane = new StackPane();
ImageView imageView = ...;
stackPane.getChildren().add(imageView);
Rectangele rectangle = new Rectangle(x, y, width, height);
stackPane.getChildren().add(rectangle);