protected double imageY2Y(int imageY) { double yScaleFactor = ((double) getHeight() - paddingTop - paddingBottom) / getYRange(); return imageY / yScaleFactor; }
protected double imageY2Y(int imageY) { double yScaleFactor = ((double) getHeight() - paddingTop - paddingBottom) / getYRange(); return imageY / yScaleFactor; }
protected int y2imageY(double y) { double yScaleFactor = ((double) getHeight() - paddingTop - paddingBottom) / getYRange(); return (int) (y * yScaleFactor); }
protected int y2imageY(double y) { double yScaleFactor = ((double) getHeight() - paddingTop - paddingBottom) / getYRange(); return (int) (y * yScaleFactor); }
public void paintComponent(Graphics gr) { if (graphImage == null || getWidth() != graphImage.getWidth() || getHeight() != graphImage.getHeight()) { createGraphImage(); } Graphics2D g = (Graphics2D) gr; g.drawImage(graphImage, null, null); }
public void paintComponent(Graphics gr) { if (graphImage == null || getWidth() != graphImage.getWidth() || getHeight() != graphImage.getHeight()) { createGraphImage(); } Graphics2D g = (Graphics2D) gr; g.drawImage(graphImage, null, null); }
public CursorDisplayer.CursorLine getPositionCursor() { if (Double.isNaN(positionCursor.x)) return null; return new CursorDisplayer.CursorLine(this, paddingLeft + X2imageX(positionCursor.x), paddingTop, getHeight() - paddingBottom); }
public CursorDisplayer.CursorLine getPositionCursor() { if (Double.isNaN(positionCursor.x)) return null; return new CursorDisplayer.CursorLine(this, paddingLeft + X2imageX(positionCursor.x), paddingTop, getHeight() - paddingBottom); }
public CursorDisplayer.CursorLine getRangeCursor() { if (Double.isNaN(rangeCursor.x)) return null; int imageX = X2imageX(rangeCursor.x); return new CursorDisplayer.CursorLine(this, paddingLeft + X2imageX(rangeCursor.x), paddingTop, getHeight() - paddingBottom, Color.YELLOW); }
public CursorDisplayer.CursorLine getRangeCursor() { if (Double.isNaN(rangeCursor.x)) return null; int imageX = X2imageX(rangeCursor.x); return new CursorDisplayer.CursorLine(this, paddingLeft + X2imageX(rangeCursor.x), paddingTop, getHeight() - paddingBottom, Color.YELLOW); }
public void mouseClicked(MouseEvent e) { // System.err.println("Mouse clicked"); if (e.getButton() == MouseEvent.BUTTON1) { // left mouse button // set position cursor; if we are to the right of rangeCursor, // delete rangeCursor. positionCursor.x = imageX2X(e.getX() - paddingLeft); positionCursor.y = imageY2Y(getHeight() - paddingBottom - e.getY()); if (!Double.isNaN(rangeCursor.x) && positionCursor.x > rangeCursor.x) { rangeCursor.x = Double.NaN; } } else if (e.getButton() == MouseEvent.BUTTON3) { // right mouse button // set range cursor, but only if we are to the right of positionCursor rangeCursor.x = imageX2X(e.getX() - paddingLeft); rangeCursor.y = imageY2Y(getHeight() - paddingBottom - e.getY()); if (positionCursor.x > rangeCursor.x) { rangeCursor.x = Double.NaN; } } FunctionGraph.this.notifyCursorListeners(); FunctionGraph.this.requestFocusInWindow(); }
public void mouseClicked(MouseEvent e) { // System.err.println("Mouse clicked"); if (e.getButton() == MouseEvent.BUTTON1) { // left mouse button // set position cursor; if we are to the right of rangeCursor, // delete rangeCursor. positionCursor.x = imageX2X(e.getX() - paddingLeft); positionCursor.y = imageY2Y(getHeight() - paddingBottom - e.getY()); if (!Double.isNaN(rangeCursor.x) && positionCursor.x > rangeCursor.x) { rangeCursor.x = Double.NaN; } } else if (e.getButton() == MouseEvent.BUTTON3) { // right mouse button // set range cursor, but only if we are to the right of positionCursor rangeCursor.x = imageX2X(e.getX() - paddingLeft); rangeCursor.y = imageY2Y(getHeight() - paddingBottom - e.getY()); if (positionCursor.x > rangeCursor.x) { rangeCursor.x = Double.NaN; } } FunctionGraph.this.notifyCursorListeners(); FunctionGraph.this.requestFocusInWindow(); }