List of usage examples for javafx.scene.shape Rectangle getY
public final double getY()
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @param iNumZone numero de la zone//www . j a va2s.com * @param rect rectangle concern * @return ancres rectangle */ private static ObservableList<AncreForme> olCreeAncresPourRectangle(int iNumZone, Rectangle rect) { ObservableList<AncreForme> olAnchors = FXCollections.observableArrayList(); DoubleProperty xProperty1 = new SimpleDoubleProperty(rect.getX()); DoubleProperty yProperty1 = new SimpleDoubleProperty(rect.getY()); DoubleProperty xProperty2 = new SimpleDoubleProperty(rect.getWidth() + rect.getX()); DoubleProperty yProperty2 = new SimpleDoubleProperty(rect.getHeight() + rect.getY()); olAnchors.add(new AncreForme(Color.GOLD, xProperty1, yProperty1)); AncreForme ancrePoint2 = new AncreForme(Color.BLUEVIOLET, xProperty2, yProperty2); olAnchors.add(ancrePoint2); xProperty1.addListener((ObservableValue<? extends Number> ov, Number oldX, Number x) -> { double dX = -rect.getX() + (double) x; rect.setX((double) x); ancrePoint2.setCenterX(ancrePoint2.getCenterX() + dX); String chaine = Math.round(rect.getX() * 10) / 10 + "," + Math.round(rect.getY() * 10) / 10 + "," + Math.round((rect.getX() + rect.getWidth()) * 10) / 10 + "," + Math.round((rect.getY() + rect.getHeight()) * 10) / 10; zones[iNumZone].setStrCoordonneesZone(chaine); }); yProperty1.addListener((ObservableValue<? extends Number> ov, Number oldY, Number y) -> { double dY = -rect.getY() + (double) y; rect.setY((double) y); ancrePoint2.setCenterY(ancrePoint2.getCenterY() + dY); String chaine = Math.round(rect.getX() * 10) / 10 + "," + Math.round(rect.getY() * 10) / 10 + "," + Math.round((rect.getX() + rect.getWidth()) * 10) / 10 + "," + Math.round((rect.getY() + rect.getHeight()) * 10) / 10; zones[iNumZone].setStrCoordonneesZone(chaine); }); xProperty2.addListener((ObservableValue<? extends Number> ov, Number oldX, Number x) -> { rect.setWidth((double) x - rect.getX()); String chaine = Math.round(rect.getX() * 10) / 10 + "," + Math.round(rect.getY() * 10) / 10 + "," + Math.round((rect.getX() + rect.getWidth()) * 10) / 10 + "," + Math.round((rect.getY() + rect.getHeight()) * 10) / 10; zones[iNumZone].setStrCoordonneesZone(chaine); }); yProperty2.addListener((ObservableValue<? extends Number> ov, Number oldY, Number y) -> { rect.setHeight((double) y - rect.getY()); String chaine = Math.round(rect.getX() * 10) / 10 + "," + Math.round(rect.getY() * 10) / 10 + "," + Math.round((rect.getX() + rect.getWidth()) * 10) / 10 + "," + Math.round((rect.getY() + rect.getHeight()) * 10) / 10; zones[iNumZone].setStrCoordonneesZone(chaine); }); return olAnchors; }
From source file:org.nmrfx.processor.gui.spectra.PeakListAttributes.java
private boolean pick2DPeak(Peak peak, double x, double y) { double[] ctr = { 0.0, 0.0 }; double[] bou = { 0.0, 0.0 }; int[] peakDim = getPeakDim(); bou[0] = peak.peakDim[peakDim[0]].getBoundsValue(); bou[1] = peak.peakDim[peakDim[1]].getBoundsValue(); ctr[0] = peak.peakDim[peakDim[0]].getChemShiftValue(); ctr[1] = peak.peakDim[peakDim[1]].getChemShiftValue(); Rectangle box = getBox(ctr, bou); boolean result = box.contains(x, y); // System.out.println(box.toString() + " " + x + " " + y + " " + result); if (!result) { int growWidth = 0; int growHeight = 0; int width = (int) box.getWidth(); if (width < minHitSize) { growWidth = minHitSize - width; }/*ww w.j a v a2 s . c o m*/ int height = (int) box.getHeight(); if (height < minHitSize) { growHeight = minHitSize - height; } // fixme why are we doing this (from old code) and should it grow symmetrically // gues we try to hit small rect for selectivity, then expand if no hit if ((growWidth > 0) || (growHeight > 0)) { box.setWidth(growWidth); box.setX(box.getX() - growWidth / 2); box.setHeight(growHeight); box.setY(box.getY() - growHeight / 2); result = box.contains(x, y); } } return result; }