本文整理汇总了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());
}
}
示例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);
}
}
示例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;
}
}
示例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);
}