Css 带有svg形状的JavaFX按钮仍然具有矩形可单击区域
我想制作一个svg格式的按钮,我已经在下面编写了CSS代码:Css 带有svg形状的JavaFX按钮仍然具有矩形可单击区域,css,javafx,Css,Javafx,我想制作一个svg格式的按钮,我已经在下面编写了CSS代码: .button { -fx-background-color: #44c553; -size: 100px; -fx-min-height: -size; -fx-min-width: -size; -fx-max-height: -size; -fx-max-width: -size; -fx-shape: "m207.10955,279.95363l101.61276,-1
.button {
-fx-background-color: #44c553;
-size: 100px;
-fx-min-height: -size;
-fx-min-width: -size;
-fx-max-height: -size;
-fx-max-width: -size;
-fx-shape: "m207.10955,279.95363l101.61276,-154.83848l101.61276,154.83848l-203.22552,0z" ;
}
问题是,当我将鼠标悬停在按钮上时,我可以从其形状的外部按下它,因为按钮边框仍然是矩形的。如何使按钮不能从形状外部单击?节点具有以下功能:
定义当由MouseEvent
或contains
函数调用触发时,如何为此节点执行拾取计算。如果pickOnBounds
为true,则通过与此节点的边界相交来计算拾取,否则通过与此节点的几何形状相交来计算拾取
此属性的默认值为false
,这是您想要的。但是,Region
类仅在其以下位置将此属性设置为true
:
创建具有空背景和空边框的新区域。该区域默认将pickOnBounds设置为true,这意味着在该区域的局部边界内发生的任何拾取(鼠标拾取或触摸拾取等)都将返回true,而不管该区域是填充的还是透明的
由于按钮
是区域
的子类,因此它的pickOnBounds
属性也设置为true
。为了获得所需的行为,需要将此属性设置回false
。不幸的是,pickOnBounds
似乎无法从CSS设置;这意味着您需要从code或FXML设置它