/** * Sets the label for the vertical axis in the specified row. * @param irow the row index. * @param label the label. */ public void setVLabel(int irow, String label) { if (_axesPlacement!=AxesPlacement.NONE) { _mosaic.getTileAxisLeft(irow).setLabel(label); } }
private void beginTracking(TileAxis ta, int x, int y) { if (ta!=null) ta.beginTracking(x,y); }
private void duringTracking(TileAxis ta, int x, int y) { if (ta!=null) ta.duringTracking(x,y); }
protected void paintComponent(Graphics g) { super.paintComponent(g); endTracking(); paintToRect((Graphics2D)g,0,0,getWidth(),getHeight()); }
private void paintTrack(int x, int y) { int w = this.getWidth(); int h = this.getHeight(); Graphics g = this.getGraphics(); g.setColor(Color.BLUE); g.setXORMode(this.getBackground()); if (this.isHorizontal()) { g.drawLine(x,-1,x,h); } else { g.drawLine(-1,y,w,y); } g.dispose(); }
Tile tile = getTile(); if (tile==null) return; g2d = createGraphics(g2d,x,y,w,h); g2d.setRenderingHint( RenderingHints.KEY_ANTIALIASING, Projector p = (isHorizontal()) ? tile.getHorizontalProjector() : tile.getVerticalProjector(); boolean isHorizontal = isHorizontal(); boolean isTop = isTop(); boolean isLeft = isLeft(); boolean isVerticalRotated = isVerticalRotated(); boolean isLogScale = (p.getScale().isLog()); if (abs(vtic)<tiny) vtic = 0.0; String stic = formatTic(vtic); if (isHorizontal) { x = t.x(utic);
Tile tile = getTile(); if (tile==null) return false; int w = getWidth(); int h = getHeight(); if (w==0 || h==0) return false; Projector p = (isHorizontal()) ? tile.getHorizontalProjector() : tile.getVerticalProjector(); Font font = getFont(); FontRenderContext frc = new FontRenderContext(null,true,false); boolean isHorizontal = isHorizontal(); boolean isVerticalRotated = isVerticalRotated(); Rectangle2D.union(font.getStringBounds(formatTic(va ),frc),r,r); Rectangle2D.union(font.getStringBounds(formatTic(va+dtic),frc),r,r); Rectangle2D.union(font.getStringBounds(formatTic(vb-dtic),frc),r,r); Rectangle2D.union(font.getStringBounds(formatTic(vb ),frc),r,r); ticLabelWidth = (int)ceil(r.width); ticLabelHeight = (int)ceil(r.height);
private void beginZoom(MouseEvent e) { _xbegin = e.getX(); _ybegin = e.getY(); Object source = e.getSource(); if (source instanceof Tile) { Tile tile = _tile = (Tile)source; drawZoom(tile,_xbegin,_ybegin,true,true); tile.addMouseMotionListener(_mml); } else if (source instanceof TileAxis) { TileAxis axis = _axis = (TileAxis)source; drawZoom(axis,_xbegin,_ybegin,_axis.isHorizontal(),_axis.isVertical()); axis.addMouseMotionListener(_mml); } }
private void endTracking(TileAxis ta) { if (ta!=null) ta.endTracking(); }
private int maxTicLabelWidth(FontMetrics fm) { double vtic = -123456789.0E-10; return fm.stringWidth(formatTic(vtic)); }
for (int icol=0; icol<ncol; ++icol) { TileAxis axis = _axesTop[icol] = new TileAxis(this,TileAxis.Placement.TOP,icol); _axisList.add(axis); add(axis); for (int irow=0; irow<nrow; ++irow) { TileAxis axis = _axesLeft[irow] = new TileAxis(this,TileAxis.Placement.LEFT,irow); _axisList.add(axis); add(axis); for (int icol=0; icol<ncol; ++icol) { TileAxis axis = _axesBottom[icol] = new TileAxis(this,TileAxis.Placement.BOTTOM,icol); _axisList.add(axis); add(axis); for (int irow=0; irow<nrow; ++irow) { TileAxis axis = _axesRight[irow] = new TileAxis(this,TileAxis.Placement.RIGHT,irow); _axisList.add(axis); add(axis);
g2d.drawLine(0,y,w-1,y); } else if (_horizontal==Horizontal.MAJOR && axisLeftRight!=null) { AxisTics at = axisLeftRight.getAxisTics(); int nticMajor = at.getCountMajor(); double dticMajor = at.getDeltaMajor(); g2d.drawLine(x,0,x,h-1); } else if (_vertical==Vertical.MAJOR && axisTopBottom!=null) { AxisTics at = axisTopBottom.getAxisTics(); int nticMajor = at.getCountMajor(); double dticMajor = at.getDeltaMajor();
/** * Sets the label for this color bar. * @param label the label; null, if none. */ public void setLabel(String label) { _mosaic.getTileAxisRight(0).setLabel(label); revalidate(); }
/** * Sets the label for the horizontal axis in the specified column. * @param icol the column index. * @param label the label. */ public void setHLabel(int icol, String label) { if (_axesPlacement==AxesPlacement.LEFT_TOP) { _mosaic.getTileAxisTop(icol).setLabel(label); adjustColorBar(); } else if (_axesPlacement==AxesPlacement.LEFT_BOTTOM) { _mosaic.getTileAxisBottom(icol).setLabel(label); adjustColorBar(); } }
mosaic.getTileAxisTop(0).setLabel("axis label"); mosaic.getTileAxisTop(1).setLabel("axis label"); mosaic.getTileAxisTop(2).setLabel("axis label"); mosaic.getTileAxisLeft(0).setLabel("axis label"); mosaic.getTileAxisLeft(1).setLabel("axis label"); mosaic.getTileAxisBottom(0).setLabel("axis label"); mosaic.getTileAxisBottom(1).setLabel("axis label"); mosaic.getTileAxisBottom(2).setLabel("axis label"); mosaic.getTileAxisRight(0).setLabel("axis label"); mosaic.getTileAxisRight(1).setLabel("axis label");
/** * Constructs a new color bar with specified label. * @param label the label; null, if none. */ public ColorBar(String label) { super(); _mosaic = new Mosaic(1,1,EnumSet.of(Mosaic.AxesPlacement.RIGHT)); if (label!=null) _mosaic.getTileAxisRight(0).setLabel(label); _mosaic.setWidthMinimum(0,15); _mosaic.setWidthElastic(0,0); _tile = _mosaic.getTile(0,0); this.setLayout(new BorderLayout()); this.add(_mosaic,BorderLayout.CENTER); }