2013-11-26 4 views

ответ

0

Я использовал всплывающее меню. и вот код для показа всплывающего окна в правильном месте. Вы можете попробовать это ...

ContextMenu popup=new ContextMenu(); 
MenuItem itemAdd=new MenuItem("Add/Edit"); 
MenuItem itemDel=new MenuItem("Delete"); 
popup.getItems().add(itemAdd);   
popup.getItems().add(itemDel);  


txtBox.setOnMouseClicked(new EventHandler<MouseEvent>() { 
@Override 
public void handle(MouseEvent t) 
{ 
    txt=(TextBox)t.getSource(); 
    if(t.getButton()==MouseButton.SECONDARY) 
    { 
     popup.show(txt,t.getScreenX(),t.getScreenY());     
    } 
} 
+0

getScreenX(), getScreenY() методы доступны только в MouseEvent классе. Как получить координаты из keyEvent или ActionEvent? – developer

+0

Вы не получите координаты getScreenX(), getScreenY() из keyEvent или ActionEvent, поэтому вам нужно вычислить координаты вручную. –

+0

Предположим, вы пытаетесь показать всплывающее окно в любом текстовом поле, тогда вам нужно вычислить координаты этого текстового поля. –

Смежные вопросы