Change Popup Menu Position

I’m trying to change a popup menu position.
Here is the code:

    this.menuPopup = this.nifty.createPopup("contextMenu");
    this.menuPopup.setConstraintX(new SizeValue("250px"));
    this.menuPopup.setConstraintY(new SizeValue("250px"));

    Menu popupMenu = menuPopup.findNiftyControl("#menu", Menu.class);
    popupMenu.addMenuItem("Click me!", new MenuItem("menuItemid", "blah blah"));
    popupMenu.addMenuItem("Item12", "Item12");
    popupMenu.addMenuItem("Item13", "Item13");

    
    this.screen.layoutLayers(); 

This is the xml:

<?xml version="1.0" encoding="UTF-8"?>
<popup id="contextMenu" childLayout="absolute" controller="net.medievalsoul.screen.MainScreenController">
    <interact onClick="closeContextMenu()" onSecondaryClick="closeContextMenu()" onTertiaryClick="closeContextMenu()" />
    <control id="#menu" name="niftyMenu" x="400"/>
</popup>

<screen id="mainScreen" controller="net.medievalsoul.screen.MainScreenController">
    <layer id="mainLayer" childLayout="center">
    </layer>
</screen>

But the context menu always appears in the top left corner.
Thanks in advance!