gpt4 book ai didi

java - 使用 FXML 将上下文菜单添加到形状

转载 作者:行者123 更新时间:2023-12-01 13:50:06 26 4
gpt4 key购买 nike

我正在尝试使用 JavaFX 2 FXML 将上下文菜单添加到圆形元素。在代码中添加菜单效果很好,在 FXML 中添加菜单则不起作用。

FXML:

 <Circle fx:id="connectionStatusCircle" fill="#ff6666" layoutX="14.0" layoutY="11.0" radius="8.0" stroke="BLACK" strokeType="INSIDE">
<contextMenu>
<ContextMenu>
<items>
<MenuItem mnemonicParsing="false" text="Unspecified Action" />
</items>
</ContextMenu>
</contextMenu>
</Circle>

抛出的异常是:

Caused by: javafx.fxml.LoadException: Invalid property.

有什么想法吗?

最佳答案

对于 Circle,在设计时不可能在 FXMl 中添加上下文菜单,因为它没有在圆的属性中定义,因此您必须务实地添加它。

试试这个-----

cm  =new ContextMenu();
MenuItem a = new MenuItem("A");
MenuItem b = new MenuItem("B");
MenuItem c = new MenuItem("C");
cm.getItems().addAll(a,b,c);
circle.setOnMouseClicked(new EventHandler<MouseEvent>() {

@Override
public void handle(MouseEvent t) {
if(t.getButton().toString().equals("SECONDARY"))
cm.show(circle,t.getScreenX(),t.getSceneY());
}
});

关于java - 使用 FXML 将上下文菜单添加到形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20034004/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com