javafx:如何设置组的边界,使其显示内部许多形状的特定窗口,这些形状可能超过或不超过预期的边界?
我有一个JavaFX组,其中包含很多ImageView和一些覆盖图。我希望它渲染一个特定的数学矩形,它通常与组合子对象的边界框不匹配。对于一个更简单的具体示例,我创建了以下应用程序:javafx:如何设置组的边界,使其显示内部许多形状的特定窗口,这些形状可能超过或不超过预期的边界?,javafx,Javafx,我有一个JavaFX组,其中包含很多ImageView和一些覆盖图。我希望它渲染一个特定的数学矩形,它通常与组合子对象的边界框不匹配。对于一个更简单的具体示例,我创建了以下应用程序: import javafx.application.*; import javafx.scene.*; import javafx.scene.layout.*; import javafx.scene.paint.*; import javafx.scene.shape.*; import javafx.stag
import javafx.application.*;
import javafx.scene.*;
import javafx.scene.layout.*;
import javafx.scene.paint.*;
import javafx.scene.shape.*;
import javafx.stage.*;
public class GroupWindow
extends Application
{
@Override
public void start(Stage stage)
throws Exception
{
Group gr = new Group();
Shape circle1 = new Circle(-300, 0, 50);
circle1.setFill(Color.GREEN);
gr.getChildren().add(circle1);
Shape circle2 = new Circle(0, 300, 50);
circle2.setFill(Color.GREEN);
gr.getChildren().add(circle2);
Shape LLrect = new Rectangle(-200, 0, 200,200);
LLrect.setFill(Color.BLUE);
gr.getChildren().add(LLrect);
VBox vbox = new VBox(gr);
stage.setScene(new Scene(vbox));
stage.show();
}
public static void main(String[] args)
{
Application.launch(args);
}
}
当我运行应用程序时,我会看到一个窗口,看起来像我需要的是让它看起来像 如果我知道方法调用,它会告诉组将其视口限制为[-200..200]中的x和[-200..200]中的y,那么我就可以实现这一点 一条评论建议设置一个剪辑。添加
gr.setClip(新矩形(-200,-200400400))代码>使其不绘制绿色圆圈,但渲染窗口包含与第一个(不需要的)屏幕截图相同的空间。因此,剪辑不会影响组决定其渲染窗口的方式
我应该使用什么技术来为javafx的布局引擎指定此目的?查看设置是否适合您。查看设置是否适合您。