javafx.scene.input.MouseEvent#getButton ( )源码实例Demo

下面列出了javafx.scene.input.MouseEvent#getButton ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: chart-fx   文件: EditDataSet.java
protected void performPointDrag(final MouseEvent event) {
    if (event.getButton() == MouseButton.PRIMARY && !controlDown && isPointDragActive) {
        if (mouseOriginX < 0) {
            mouseOriginX = event.getSceneX();
        }
        if (mouseOriginY < 0) {
            mouseOriginY = event.getSceneY();
        }
        final double deltaX = event.getSceneX() - mouseOriginX;
        final double deltaY = event.getSceneY() - mouseOriginY;

        // get the latest mouse coordinate.
        mouseOriginX = event.getSceneX();
        mouseOriginY = event.getSceneY();

        applyDrag(deltaX, deltaY);
        event.consume();
    } else {
        isPointDragActive = false;
    }
}
 
源代码2 项目: jfxutils   文件: JFXChartUtil.java
/**
 * Returns an {@link EventHandler} that sets X and/or Y axis auto ranging when the primary mouse button is
 * double-clicked. If the click occurs inside the X axis area auto range only the X axis and similarly for Y axis. But
 * if the event is in the plot area or anywhere else, auto range both axes.
 */
public static EventHandler<MouseEvent> getDoublePrimaryClickAutoRangeHandler( final XYChartInfo chartInfo ) {
	return new EventHandler<MouseEvent>() {
		@Override
		public void handle( MouseEvent event ) {
			if ( event.getClickCount() == 2 && event.getButton() == MouseButton.PRIMARY ) {
				double x = event.getX();
				double y = event.getY();
				if ( !chartInfo.getXAxisArea().contains( x, y ) )
					chartInfo.getChart().getYAxis().setAutoRanging( true );
				if ( !chartInfo.getYAxisArea().contains( x, y ) )
					chartInfo.getChart().getXAxis().setAutoRanging( true );
			}
		}
	};
}
 
/**
 * Invoked when a mouse press has occurred over the button. In addition to
 * potentially arming the Button, this will transfer focus to the button
 */
@Override public void mousePressed(MouseEvent e) {
    final ButtonBase button = getControl();
    super.mousePressed(e);
    // if the button is not already focused, then request the focus
    if (! button.isFocused() && button.isFocusTraversable()) {
        button.requestFocus();
    }

    // arm the button if it is a valid mouse event
    // Note there appears to be a bug where if I press and hold and release
    // then there is a clickCount of 0 on the release, whereas a quick click
    // has a release clickCount of 1. So here I'll check clickCount <= 1,
    // though it should really be == 1 I think.
    boolean valid = (e.getButton() == MouseButton.PRIMARY &&
        ! (e.isMiddleButtonDown() || e.isSecondaryButtonDown() ||
            e.isShiftDown() || e.isControlDown() || e.isAltDown() || e.isMetaDown()));

    if (! button.isArmed() && valid) {
        button.arm();
    }
}
 
源代码4 项目: iliasDownloaderTool   文件: ResultList.java
private void showContextMenu(MouseEvent event) {
	menu.hide();
	final List<IliasTreeNode> selectedNodes = ((ResultList) event.getSource())
			.getSelectionModel().getSelectedItems();
	if (selectedNodes.isEmpty() || selectedNodes == null) {
		return;
	}
	if (selectedNodes.size() == 1) {
		dashboard.getCoursesTreeView().selectFile((IliasFile) selectedNodes.get(0));
	}

	if (event.getButton() == MouseButton.SECONDARY) {
		menu = new FileContextMenu(dashboard).createMenu(selectedNodes, event);
		menu.show(this, event.getScreenX(), event.getScreenY());
	}
}
 
源代码5 项目: phoebus   文件: RegionBaseRepresentation.java
/** Copy PV name to clipboard when middle button clicked
 *  @param event Mouse pressed event
 */
private void hookMiddleButtonCopy(final MouseEvent event)
{
    if (event.getButton() != MouseButton.MIDDLE)
        return;

    final String pv_name = ((PVWidget)model_widget).propPVName().getValue();

    // Copy to copy/paste clipboard
    final ClipboardContent content = new ClipboardContent();
    content.putString(pv_name);
    Clipboard.getSystemClipboard().setContent(content);

    // Copy to the 'selection' buffer used by X11
    // for middle-button copy/paste
    // Note: This is AWT API!
    // JavaFX has no API, https://bugs.openjdk.java.net/browse/JDK-8088117
    if (Toolkit.getDefaultToolkit().getSystemSelection() != null)
        Toolkit.getDefaultToolkit().getSystemSelection().setContents(new StringSelection(pv_name), null);
}
 
源代码6 项目: trex-stateless-gui   文件: MainViewController.java
/**
 * Handle tree item clicked
 *
 * @param mouseEvent
 */
@FXML
public void handleTreeClicked(MouseEvent mouseEvent) {
    rightClickDevicesTreeMenu.ifPresent(ContextMenu::hide);
    CustomTreeItem selected = (CustomTreeItem) devicesTree.getSelectionModel().getSelectedItem();
    if (selected != null) {
        if (mouseEvent.getButton() == MouseButton.SECONDARY) {
            updateContextMenuState();
            rightClickDevicesTreeMenu = Optional.ofNullable(selected.getMenu());
            rightClickDevicesTreeMenu.ifPresent(contextMenu -> {
                contextMenu.show(devicesTree, mouseEvent.getScreenX(), mouseEvent.getScreenY());
            });
        }
    }
}
 
源代码7 项目: Open-Lowcode   文件: CGrid.java
@Override
public void handle(MouseEvent event) {
	MouseButton button = event.getButton();

	if (button == MouseButton.PRIMARY) {
		if (event.getClickCount() == 1 && (event.isShiftDown())) {

			if (thisobjectgrid.isinlineupdate)
				if (!thisobjectgrid.updatemodeactive) { // currently, table in read mode, move to
					logger.fine("moving tableview " + thisobjectgrid.name + " to update mode");
					thisobjectgrid.tableview.setEditable(true);
					thisobjectgrid.tableview.getSelectionModel().setCellSelectionEnabled(true);
					thisobjectgrid.updatemodeactive = true;
					thisobjectgrid.startupdate.setDisable(true);
					thisobjectgrid.commitupdate.setDisable(false);
					return;
				}
		}
		if (thisobjectgrid.isinlineupdate)
			if (thisobjectgrid.updatemodeactive)
				if (event.getClickCount() == 1) {
					if (thisobjectgrid.tableview.getEditingCell() == null) {
						@SuppressWarnings("unchecked")
						TablePosition<CObjectGridLine<String>, ?> focusedCellPosition = thisobjectgrid.tableview
								.getFocusModel().getFocusedCell();
						thisobjectgrid.tableview.edit(focusedCellPosition.getRow(),
								focusedCellPosition.getTableColumn());

					}
				}
		if (thisobjectgrid.iscellaction)
			if (event.getClickCount() > 1) {
				// trigger the action on double click only if updatemode is not active
				if (!thisobjectgrid.updatemodeactive) {
					logger.info("Single action click detected");
					pageactionmanager.getMouseHandler().handle(event);
				}
			}
	}
}
 
源代码8 项目: MyBox   文件: ImageMaskController.java
protected void doubleClickedRectangle(MouseEvent event) {
    if (maskRectangleLine == null || !maskRectangleLine.isVisible()) {
        return;
    }
    DoublePoint p = getImageXY(event, imageView);
    if (p != null) {
        double x = p.getX();
        double y = p.getY();
        if (event.getButton() == MouseButton.PRIMARY) {

            if (x < maskRectangleData.getBigX() && y < maskRectangleData.getBigY()) {
                maskRectangleData.setSmallX(x);
                maskRectangleData.setSmallY(y);
                drawMaskRectangleLine();
            }

        } else if (event.getButton() == MouseButton.SECONDARY) {

            if (x > maskRectangleData.getSmallX() && y > maskRectangleData.getSmallY()) {
                maskRectangleData.setBigX(x);
                maskRectangleData.setBigY(y);
                drawMaskRectangleLine();
            }

        }
    }
}
 
源代码9 项目: DeskChan   文件: MouseEventNotificator.java
/**
 * Use this method to process a click event and send a special GUI event by the means of the message system.
 * @param event MouseEvent. A click event
 */
void notifyClickEvent(MouseEvent event) {
    if (!event.isStillSincePress()) {
        return;
    }

    Map<String, Object> m = new HashMap<>();
    m.put("screenX", event.getScreenX());
    m.put("screenY", event.getScreenY());
    m.put("nodeX", event.getScreenX() - sender.getLayoutX());
    m.put("nodeY", event.getScreenY() - sender.getLayoutY());
    m.put("nodeWidth", sender.getLayoutBounds().getWidth());
    m.put("nodeHeight", sender.getLayoutBounds().getHeight());

    StringBuilder eventMessage = new StringBuilder("gui-events:").append(senderName).append("-");
    if (event.getButton() == MouseButton.PRIMARY) {
        if (event.getClickCount() == 2) {
            eventMessage.append("double");
        } else {
            eventMessage.append("left");
        }
    } else if (event.getButton() == MouseButton.SECONDARY) {
        eventMessage.append("right");
    } else if (event.getButton() == MouseButton.MIDDLE) {
        eventMessage.append("middle");
    } else {
        return;
    }
    eventMessage.append("-click");

    Main.getInstance().getPluginProxy().sendMessage(eventMessage.toString(), m);
}
 
源代码10 项目: MyBox   文件: ImageManufacturePenController.java
@FXML
    @Override
    public void mousePressed(MouseEvent event) {
        if (null == opType || imageView == null || imageView.getImage() == null) {
            return;
        }
        DoublePoint p = imageController.getImageXY(event, imageView);
        imageController.showXY(event, p);

        if (event.getButton() == MouseButton.SECONDARY || p == null) {
            return;
        }

        switch (opType) {
            case Polyline:
                if (lastX == event.getX() && lastY == event.getY()) {
                    return;
                }
                imageController.scrollPane.setPannable(false);
                imageController.maskLineData.add(p);
                lastX = event.getX();
                lastY = event.getY();
                drawPolyline();
                break;
            case DrawLines:
            case Erase:
//            case Mosaic:
//            case Frosted:
                imageController.scrollPane.setPannable(false);
                imageController.maskPenData.startLine(p);
                lastX = event.getX();
                lastY = event.getY();
                updateMask();
        }

    }
 
源代码11 项目: MyBox   文件: ImageManufacturePenController.java
@FXML
    @Override
    public void mouseDragged(MouseEvent event) {
        if (null == opType || imageView == null || imageView.getImage() == null) {
            return;
        }
        DoublePoint p = imageController.getImageXY(event, imageView);
        imageController.showXY(event, p);

        if (event.getButton() == MouseButton.SECONDARY || p == null) {
            return;
        }

        switch (opType) {
            case Polyline:
                if (lastX == event.getX() && lastY == event.getY()) {
                    return;
                }
                imageController.scrollPane.setPannable(false);
                imageController.maskLineData.add(p);
                lastX = event.getX();
                lastY = event.getY();
                drawPolyline();
                break;
            case DrawLines:
            case Erase:
//            case Mosaic:
//            case Frosted:
                imageController.scrollPane.setPannable(false);
                imageController.maskPenData.addPoint(p);
                lastX = event.getX();
                lastY = event.getY();
                updateMask();
        }

    }
 
源代码12 项目: arma-dialog-creator   文件: UICanvas.java
@Override
public void handle(MouseEvent event) {
	MouseButton btn = event.getButton();
	if (!(event.getTarget() instanceof Canvas)) {
		return;
	}

	Canvas c = (Canvas) event.getTarget();
	Point2D p = c.sceneToLocal(event.getSceneX(), event.getSceneY());
	int mousex = (int) p.getX();
	int mousey = (int) p.getY();

	if (event.getEventType() == MouseEvent.MOUSE_MOVED || event.getEventType() == MouseEvent.MOUSE_DRAGGED) {
		canvas.mouseMoved(mousex, mousey);
		canvas.setLastMousePosition(mousex, mousey);
		if (mouseDown) {
			this.canvas.requestPaint();
		}
	} else {
		if (event.getEventType() == MouseEvent.MOUSE_PRESSED) {
			mouseDown = true;
			canvas.mousePressed(mousex, mousey, btn);
		} else if (event.getEventType() == MouseEvent.MOUSE_RELEASED) {
			canvas.mouseReleased(mousex, mousey, btn);
			mouseDown = false;
			canvas.requestPaint();
		}
	}

}
 
源代码13 项目: green_android   文件: ClickableBitcoinAddress.java
@FXML
protected void requestMoney(MouseEvent event) {
    if (event.getButton() == MouseButton.SECONDARY || (event.getButton() == MouseButton.PRIMARY && event.isMetaDown())) {
        // User right clicked or the Mac equivalent. Show the context menu.
        addressMenu.show(addressLabel, event.getScreenX(), event.getScreenY());
    } else {
        // User left clicked.
        try {
            Desktop.getDesktop().browse(URI.create(uri()));
        } catch (IOException e) {
            GuiUtils.informationalAlert("Opening wallet app failed", "Perhaps you don't have one installed?");
        }
    }
}
 
源代码14 项目: GreenBits   文件: ClickableBitcoinAddress.java
@FXML
protected void requestMoney(MouseEvent event) {
    if (event.getButton() == MouseButton.SECONDARY || (event.getButton() == MouseButton.PRIMARY && event.isMetaDown())) {
        // User right clicked or the Mac equivalent. Show the context menu.
        addressMenu.show(addressLabel, event.getScreenX(), event.getScreenY());
    } else {
        // User left clicked.
        try {
            Desktop.getDesktop().browse(URI.create(uri()));
        } catch (IOException e) {
            GuiUtils.informationalAlert("Opening wallet app failed", "Perhaps you don't have one installed?");
        }
    }
}
 
/**
 * Adds graphics to the map view on mouse clicks.
 *
 * @param e mouse button click event
 */
@FXML
private void handleMouseClicked(MouseEvent e) {
  if (e.getButton() == MouseButton.PRIMARY && e.isStillSincePress()) {
    // convert clicked point to a map point
    Point mapPoint = mapView.screenToLocation(new Point2D(e.getX(), e.getY()));

    // create a new graphic with the point and symbol
    Graphic graphic = new Graphic(mapPoint, faceSymbol);
    graphicsOverlay.getGraphics().add(graphic);
  }
}
 
源代码16 项目: devcoretalk   文件: ClickableBitcoinAddress.java
@FXML
protected void requestMoney(MouseEvent event) {
    if (event.getButton() == MouseButton.SECONDARY || (event.getButton() == MouseButton.PRIMARY && event.isMetaDown())) {
        // User right clicked or the Mac equivalent. Show the context menu.
        addressMenu.show(addressLabel, event.getScreenX(), event.getScreenY());
    } else {
        // User left clicked.
        try {
            Desktop.getDesktop().browse(URI.create(uri()));
        } catch (IOException e) {
            GuiUtils.informationalAlert("Opening wallet app failed", "Perhaps you don't have one installed?");
        }
    }
}
 
源代码17 项目: marathonv5   文件: WSRecorder.java
@Override
public void recordRawMouseEvent(final RFXComponent r, MouseEvent e) {
    final JSONObject event = new JSONObject();
    event.put("type", "click_raw");
    int button = e.getButton() == MouseButton.PRIMARY ? java.awt.event.MouseEvent.BUTTON1 : java.awt.event.MouseEvent.BUTTON3;
    event.put("button", button);
    event.put("clickCount", e.getClickCount());
    event.put("modifiersEx", buildModifiersText(e));
    Node source = (Node) e.getSource();
    Node target = r.getComponent();
    Point2D sts = source.localToScene(new Point2D(e.getX(), e.getY()));
    Point2D tts = target.sceneToLocal(sts);
    event.put("x", tts.getX());
    event.put("y", tts.getY());
    final JSONObject o = new JSONObject();
    o.put("event", event);
    fill(r, o);
    if (e.getClickCount() == 1) {
        clickTimer = new Timer();
        clickTimer.schedule(new TimerTask() {
            @Override
            public void run() {
                sendRecordMessage(o);
            }
        }, timerinterval.intValue());
    } else if (e.getClickCount() == 2) {
        if (clickTimer != null) {
            clickTimer.cancel();
            clickTimer = null;
        }
        sendRecordMessage(o);
    }
}
 
源代码18 项目: archivo   文件: RecordingListController.java
private void archiveOnDoubleClick(MouseEvent event) {
    if (event.getButton() == MouseButton.PRIMARY && event.getClickCount() > 1) {
        int numRecordings = recordingSelection.getRecordingsWithChildren().size();
        // If the user double-clicks a group header, just expand/collapse it, don't archive everything in it
        if (recordingSelection.isArchivableProperty().get() && numRecordings == 1) {
            mainApp.archiveSelection();
        }
    }
}
 
源代码19 项目: chart-fx   文件: MouseEventsHelper.java
public static boolean isOnlyPrimaryButtonDown(final MouseEvent event) {
    return event.getButton() == PRIMARY && !event.isMiddleButtonDown() && !event.isSecondaryButtonDown();
}
 
源代码20 项目: FxDock   文件: FX.java
public static boolean isLeftButton(MouseEvent ev)
{
	return (ev.getButton() == MouseButton.PRIMARY);
}