当我像这样制作圆形按钮时
Button b = new Button();
b.setShape(new Circle(20.0));
b.setText("BUTTON");
b.setStyle("-fx-background-radius: 50em; " +
"-fx-min-width: 50px; " +
"-fx-min-height: 50px; ");
Run Code Online (Sandbox Code Playgroud)
它仍然可以在圆圈外的区域中单击,就像我在这里标记为红色的那个:
有没有办法来解决这个问题?
Button 具有pickOnBounds属性,定义在由 MouseEvent 或 contains 函数调用触发时如何为此节点完成拾取计算。
您需要将pickOnBounds属性设置为false
pickOnBounds 似乎无法从 CSS 中设置,这意味着您需要从代码中进行设置
b.pickOnBoundsProperty().setValue(false);