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