Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 以编程方式将ActionListener添加到PrimeFaces菜单项_Jsf_Primefaces_Actionlistener_Menuitem - Fatal编程技术网

Jsf 以编程方式将ActionListener添加到PrimeFaces菜单项

Jsf 以编程方式将ActionListener添加到PrimeFaces菜单项,jsf,primefaces,actionlistener,menuitem,Jsf,Primefaces,Actionlistener,Menuitem,我试图以编程方式将动作侦听器定义为菜单项,然后菜单使用该菜单项。在互联网上搜索解决方案,找到了一些例子,但有一些方法没有在PF 4.0中实现(我想),我该怎么做?这就是我到目前为止所拥有的 @ManagedBean @RequestScoped public class MenuTest implements Serializable{ private MenuModel model; public MenuTest() { model = new DefaultMenuModel(

我试图以编程方式将动作侦听器定义为菜单项,然后菜单使用该菜单项。在互联网上搜索解决方案,找到了一些例子,但有一些方法没有在PF 4.0中实现(我想),我该怎么做?这就是我到目前为止所拥有的

@ManagedBean
@RequestScoped
public class MenuTest implements Serializable{

private MenuModel model;

public MenuTest() {
    model = new DefaultMenuModel();

    MenuItem item;

    item = new MenuItem();
    item.setValue("Menuitem 1"); //Error Here -> Can't find method - 
                                 //Only setLabel or setName available
    item.addActionListener(new MenuActionListener()); // Incompatible types
                 /MenuActionListener cant be converted to Action Listener -> Why?

    model.addMenuItem(item); // Can't find method
    model.addElement(item); // Incompatible types - .
              //Menu Item cannot be converted to Menu Element
}

public MenuModel getModel() {
    return model;
}
}

我的动作听众课

public class MenuActionListener implements ActionListener {

    public MenuActionListener() {
    }

    @Override
    public void processAction(ActionEvent event) throws AbortProcessingException{
        System.out.println("Test Action Listener called..");
        System.out.println("Source of the Event is ");
    }

}

类型不同,但由于
MenuActionListener
实现了
ActionListener
,因此可以使用:
item.addActionListener((ActionListener)new MenuActionListener())
;实际上,我做到了这一点,尽管我在运行project时遇到了一个无法强制转换的异常=/您的ActionListener是否正在导入
javax.faces.event.ActionListener
java.awt.ActionListener
(或其他内容)?javax.faces.event.ActionListener=/