如何在JavaFX中使圆形按钮之外的区域不可单击

当我像这样制作圆形按钮

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; ");

仍然可以像我在此处标记为红色的区域一样在圆以外的区域中单击它:

如何在JavaFX中使圆形按钮之外的区域不可单击

有没有办法解决这个问题?

ling9012 回答:如何在JavaFX中使圆形按钮之外的区域不可单击

按钮具有pickOnBounds属性,定义当由MouseEvent或包含函数调用触发时,如何为此节点进行选择计算。
您需要将pickOnBounds属性设置为false

pickOnBounds似乎无法从CSS设置,这意味着您需要通过代码进行设置

b.pickOnBoundsProperty().setValue(false);

本文链接:https://www.f2er.com/3149875.html

大家都在问