当前位置: 首页>>代码示例>>Java>>正文


Java PInputEvent.getPickedNode方法代码示例

本文整理汇总了Java中org.piccolo2d.event.PInputEvent.getPickedNode方法的典型用法代码示例。如果您正苦于以下问题:Java PInputEvent.getPickedNode方法的具体用法?Java PInputEvent.getPickedNode怎么用?Java PInputEvent.getPickedNode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.piccolo2d.event.PInputEvent的用法示例。


在下文中一共展示了PInputEvent.getPickedNode方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: drag

import org.piccolo2d.event.PInputEvent; //导入方法依赖的package包/类
public void drag(final PInputEvent e) {
    final PNode node = e.getPickedNode();
    node.translate(e.getDelta().width, e.getDelta().height);

    final ArrayList edges = (ArrayList) e.getPickedNode().getAttribute("edges");

    int i;
    for (i = 0; i < edges.size(); i++) {
        final PPath edge = (PPath) edges.get(i);
        final ArrayList nodes = (ArrayList) edge.getAttribute("nodes");
        final PNode node1 = (PNode) nodes.get(0);
        final PNode node2 = (PNode) nodes.get(1);

        edge.reset();
        // Note that the node's "FullBounds" must be used (instead of
        // just the "Bound") because the nodes have non-identity
        // transforms which must be included when determining their
        // position.
        final Point2D.Double bound1 = (Point2D.Double) node1.getFullBounds().getCenter2D();
        final Point2D.Double bound2 = (Point2D.Double) node2.getFullBounds().getCenter2D();

        edge.moveTo((float) bound1.getX(), (float) bound1.getY());
        edge.lineTo((float) bound2.getX(), (float) bound2.getY());
    }
}
 
开发者ID:piccolo2d,项目名称:piccolo2d.java,代码行数:26,代码来源:GraphEditorExample.java

示例2: mousePressed

import org.piccolo2d.event.PInputEvent; //导入方法依赖的package包/类
/**
 * A callback that is invoked any time the mouse is pressed on the canvas.
 * If the press occurs directly on the canvas, it create a new PStyledText
 * instance and puts it in editing mode. If the click is on a node, it marks
 * changes it to editing mode.
 * 
 * @param event mouse click event that can be queried
 */
public void mousePressed(final PInputEvent event) {
    final PNode pickedNode = event.getPickedNode();

    stopEditing(event);

    if (event.getButton() != MouseEvent.BUTTON1) {
        return;
    }

    if (pickedNode instanceof PStyledText) {
        startEditing(event, (PStyledText) pickedNode);
    }
    else if (pickedNode instanceof PCamera) {
        final PStyledText newText = createText();
        final Insets pInsets = newText.getInsets();
        newText.translate(event.getPosition().getX() - pInsets.left, event.getPosition().getY() - pInsets.top);
        startEditing(event, newText);
    }
}
 
开发者ID:piccolo2d,项目名称:piccolo2d.java,代码行数:28,代码来源:PStyledTextEventHandler.java

示例3: moveFocusToMouseOver

import org.piccolo2d.event.PInputEvent; //导入方法依赖的package包/类
/**
 * Moves the focus to the mouse under the mouse. Animating the camera
 * appropriately.
 * 
 * @param event mouse event
 */
public void moveFocusToMouseOver(final PInputEvent event) {
    final PNode focus = event.getPickedNode();
    if (!(focus instanceof PCamera)) {
        focusNode = focus;
    }
}
 
开发者ID:piccolo2d,项目名称:piccolo2d.java,代码行数:13,代码来源:PNavigationEventHandler.java

示例4: zoomTo

import org.piccolo2d.event.PInputEvent; //导入方法依赖的package包/类
/**
 * Zooms the camera to the picked node of the event.
 * @param event Event from which to extract the zoom target
 */
protected void zoomTo(final PInputEvent event) {
    PBounds zoomToBounds;
    final PNode picked = event.getPickedNode();

    if (picked instanceof PCamera) {
        final PCamera c = (PCamera) picked;
        zoomToBounds = c.getUnionOfLayerFullBounds();
    }
    else {
        zoomToBounds = picked.getGlobalFullBounds();
    }

    event.getCamera().animateViewToCenterBounds(zoomToBounds, true, ZOOM_SPEED);
}
 
开发者ID:piccolo2d,项目名称:piccolo2d.java,代码行数:19,代码来源:PZoomToEventHandler.java


注:本文中的org.piccolo2d.event.PInputEvent.getPickedNode方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。