1 回答
TA贡献1877条经验 获得超1个赞
由于SceneAntialiasing不是枚举,因此不能在属性中使用常量名称。但是,SubScene构造函数确实使用 注释SceneAntialiasing参数@NamedArg,这意味着它可以在通过 FXML 创建时注入。您只需要结合使用一个元素而fx:constant不是一个属性。例如:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.SubScene?>
<?import javafx.scene.SceneAntialiasing?>
<SubScene xmlns="http://javafx.com/javafx/12.0.1" xmlns:fx="http://javafx.com/fxml/1">
<antiAliasing>
<SceneAntialiasing fx:constant="BALANCED"/>
</antiAliasing>
</SubScene>
加载上面的内容:
import java.io.IOException;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.fxml.FXMLLoader;
import javafx.scene.SubScene;
import javafx.stage.Stage;
public final class App extends Application {
@Override
public void start(Stage primaryStage) throws IOException {
SubScene scene = FXMLLoader.load(getClass().getResource(...));
System.out.println(scene.getAntiAliasing());
Platform.exit();
}
}
结果被BALANCED打印出来。
添加回答
举报