通过CSS在JavaFX中缩放不变边界大小?
我试图为JavaFX节点指定一个边框大小,这样当节点的父节点被缩放时,生成的边框在屏幕上仍然占据相同的宽度 例如,我有通过CSS在JavaFX中缩放不变边界大小?,java,css,javafx,Java,Css,Javafx,我试图为JavaFX节点指定一个边框大小,这样当节点的父节点被缩放时,生成的边框在屏幕上仍然占据相同的宽度 例如,我有 窗格容器=新建窗格(); 窗格nodeWithBorder=新建窗格(); nodeWithBorder.getStyleClass().add('my-node'); 在我的样式表中,我有一些类似于 .my-node { -fx-border-width: 2px; -fx-border-color: red; ... } 假设container具有sc
窗格容器=新建窗格();
窗格nodeWithBorder=新建窗格();
nodeWithBorder.getStyleClass().add('my-node');
在我的样式表中,我有一些类似于
.my-node {
-fx-border-width: 2px;
-fx-border-color: red;
...
}
假设container
具有scaleX=scaleY=1
,则nodeWithBorder
的结果边框将以2px的宽度呈现
我想通过CSS实现的是当container.setScaleX(2)时;container.setScaleY(2)
,节点边界的大小应相应缩放,但渲染时使用相同的2px边界。
通过在代码中指定边框并在其宽度属性和比例属性之间创建绑定,我可以通过编程实现这一点。由于我需要在应用程序中的多个位置执行此操作,并且并不总是知道父树中的哪个级别的比例在变化,因此我想知道是否有一种方法可以通过CSS使用某种相对单位来指定此操作。scale将缩放与节点相关的所有内容,包括边界,这就是它所做的。@jewelsea我希望有一个类似于单元规范的东西,它对应于实际的屏幕像素,而不是渲染像素(通过整个缩放机制)。我想在这方面你也不知道。公共规范中没有一个单元像我尝试的那样工作……是的,您的编程解决方案应该可以工作。我真的不知道如何以声明的方式实现这一点(我不认为有任何忽略缩放的神奇单位类型)。我能想到的一件事是尝试使用FXML指定边框,并使用FXML的功能根据父级的比例动态设置边框宽度(我没有尝试过,它可能不起作用,或者如果它起作用,可能不如编程解决方案)。