gpt4 book ai didi

java - 如何处理 Javafx org.w3c.dom.Element 转换为 MenuItem 错误?

转载 作者:行者123 更新时间:2023-12-01 10:47:09 25 4
gpt4 key购买 nike

我在为 WebView 创建上下文菜单时遇到问题。

private void createContextMenuForButton(){
MenuItem clickButton = new MenuItem("Click");
clickButton.setOnAction(new EventHandler<ActionEvent>(){
public void handle(ActionEvent evt){
addStep();
ListItem item = ListItem.getListView().getItems().get(ListItem.getListView().getItems().size()-1);
item.setComboBoxValue("Click");
*String value = ((Element)evt.getTarget()).getAttribute("value").toString();*
item.getWindow();
}
});
listViewItemContextMenu.getItems().remove(0, listViewItemContextMenu.getItems().size());
listViewItemContextMenu.getItems().add(clickButton);
}

当我运行上面的方法时,出现以下异常。第 190 行标有 *。无论我如何尝试获取 ActionEvent 的元素,它都会继续出现错误。我无法创建 @FXML MenuItem,因为我需要能够动态创建新的不同的 menuItem。

    Exception in thread "JavaFX Application Thread" java.lang.ClassCastException: javafx.scene.control.MenuItem cannot be cast to org.w3c.dom.Element
at model.WebBrowser$4.handle(WebBrowser.java:190)
at model.WebBrowser$4.handle(WebBrowser.java:1)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)

最佳答案

从异常来看,您似乎正在尝试将 JavaFX MenuItem 对象从 W3C 的 Java API for DOM 转换为 Element 类型。这没有任何意义。如果您追求的是 MenuItem 的值,那么在没有强制转换的情况下它不起作用吗?尝试将其转换为 MenuItem 而不是 Element

编辑:

好的,仔细看看。看起来应该是这样的,如果你想要的是属性 text 的文本值:

String value = ((MenuItem)evt.getTarget()).getText();

关于java - 如何处理 Javafx org.w3c.dom.Element 转换为 MenuItem 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34106746/

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