创建白色构件的JavaFX出现在舍入矩形的位置 我想创建这个带有圆角的矩形,但由于某些原因,当我try 添加按钮时,渲染时会出现白色伪像 代码:


        Rectangle rect = new Rectangle(320, 160);
        rect.setArcWidth(25);
        rect.setArcHeight(25);
        StackPane stackPane = new StackPane();
        Pane pane = new Pane();
        Scene scene = new Scene(pane, Color.TRANSPARENT);
        scene.setFill(Color.TRANSPARENT);
        primaryStage.initStyle(StageStyle.TRANSPARENT);
        Button button = new Button("Button1"); 
        Text text = new Text("SomeText");
        text.setFont(font);
        stackPane.getChildren().add(text);
        stackPane.getChildren().add(asGuest);
        pane.getChildren().addAll(rect, stroke);
        pane.getChildren().add(stackPane);
        primaryStage.show();

推荐答案

我可以重现您的问题;似乎是Pane创造了它;添加以下几行似乎可以解决它:

// given the imports:
import javafx.geometry.Insets;
import javafx.scene.layout.CornerRadii;

// line:
pane.setBackground(new Background(new BackgroundFill(Color.TRANSPARENT, CornerRadii.EMPTY, Insets.EMPTY)));

(根据Slaw的 comments ,这可以简化为pane.setBackground(null))

Java相关问答推荐

Java应用程序崩溃时试图读取联系人从电话

空手道比赛条件

H2弹簧靴试验跌落台

如何转换Tue Feb 27 2024 16:35:30 GMT +0800 String至ZonedDateTime类型""

如何获得执行人?

在AVL树的Remove方法中使用NoSuchElementException时遇到问题

Spring data JPA/Hibernate根据id获取一个列值

使用Spring和ActiveMQ的侦听器方法引发属性名称不能重复为空警告

使用正则表达式从字符串中提取多个值

扩展视图高度,并将其拖动到较低的视图上,而不是将其向下推?

Java SSLKeyManager出厂密码

寻找Thread.sky()方法的清晰度

Java 21中泛型的不兼容更改

具有多个模式的DateTimeForMatter的LocalDate.parse失败

如何在Record Java中使用isRecord()和RecordComponent[]?

JavaFX,GridPane:在GridPane的列中生成元素将保持所有列的宽度

如何在右击时 Select 新行?

ReturnedRect在升级后反转

Springboot应用程序无法识别任何@RestController或@Service,我认为@Repository也无法识别

java构造函数中的冻结操作何时发生?