FXML <opaqueinsets>标签

时间:2018-03-08 20:37:03

标签: javafx javafx-8 fxml

我正在尝试使用FXML布局来了解如何使用边距,边框和填充来布局节点。使用SceneBuilder我创建了一个虚拟FXML布局:

import styled, { css } from "styled-components";
import { styledWithProps } from "./styledWithProps.ts";

const MyComp = styledWithProps<any>()(styled.div) `
${props => props.theme==="dark" && css`
    background-color: black;
`}
`;

const app = props => <MyComp theme="dark">{props.children}</MyComp>

但是在SceneBuilder中有“不透明插图”值框:

Opaque Insets

我已将它们添加到上面的FXML中。

但它们是为了什么?它们似乎对布局的视觉外观没有影响,我在Introduction to FXML中找不到任何对它们的引用。它们可能是FXML 1.0的“剩余”吗?

1 个答案:

答案 0 :(得分:1)

opaqueInsets属性在Region中定义。直接从documentation

引用
  

定义绘制完全不透明像素的区域区域。这用于各种性能优化。该区域内的像素必须完全不透明,否则会产生渲染瑕疵。应用程序(通过代码或通过CSS)负责确保opaqueInsets对于基于该区域的背景和边界的Region是正确的。每个插入的值必须是实数,而不是NaN或无穷大。如果不存在已知的insets,则opaqueInsets应设置为null。

我读到这个的方式是你可以在opaqueInsets上定义Region,以便给出一个渲染提示,即这些插图中的区域是完全不透明的。这是作为性能提示提供的 - 可能的想法是渲染器可以忽略该区域内具有较低z顺序的任何节点。