// isPopupTrigger()
返回此鼠标事件是否为该平台的弹出菜单触发事件。
private static class PopupMenuListener extends MouseAdapter {
private final JPopupMenu menu;
PopupMenuListener(JPopupMenu menu) {
this.menu = menu;
}
public void mousePressed(MouseEvent e) { maybeShowPopup(e); }
public void mouseReleased(MouseEvent e) { maybeShowPopup(e); }
private void maybeShowPopup(MouseEvent e) {
if (e.isPopupTrigger()) {
menu.show(e.getComponent(), e.getX(), e.getY());
}
}
}
private class SelectionListener extends MouseAdapter {
public void mousePressed(MouseEvent e) {
if (!e.isPopupTrigger()) {
Node node = getScene().nodeAt(e.getX(), e.getY());
if (node != null) {
getScene().setSelectedNode(node);
}
}
}
}