private void drawMissingBasicDisplayInfoMessage(Graphics2D g2d, FontMetrics fontMetrics) { int totWidth = getWidth(); int totHeight = getHeight(); g2d.drawString(NO_DISPLAY_INFO_TEXT, (totWidth - fontMetrics.stringWidth(NO_DISPLAY_INFO_TEXT)) / 2, (totHeight + fontMetrics.getHeight()) / 2); }
private void computeSizeAttributes() { int totWidth = getWidth(); int totHeight = getHeight(); int imageWidth = totWidth - 2 * HOR_BORDER_SIZE; sliderTextBaseLineY = totHeight - VER_BORDER_SIZE - SLIDER_VALUES_AREA_HEIGHT; sliderBaseLineRect.x = HOR_BORDER_SIZE; sliderBaseLineRect.y = sliderTextBaseLineY - SLIDER_HEIGHT / 2; sliderBaseLineRect.width = imageWidth; sliderBaseLineRect.height = 1; paletteRect.x = HOR_BORDER_SIZE; paletteRect.y = sliderBaseLineRect.y - PALETTE_HEIGHT; paletteRect.width = imageWidth; paletteRect.height = PALETTE_HEIGHT; histoRect.x = HOR_BORDER_SIZE; histoRect.y = VER_BORDER_SIZE; histoRect.width = imageWidth; histoRect.height = paletteRect.y - histoRect.y - 3; }
@Override protected void paintComponent(Graphics g) { super.paintComponent(g); if (getModel() == null || getWidth() == 0 || getHeight() == 0) { return; } Graphics2D g2d = (Graphics2D) g; g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2d.setFont(labelFont); computeSizeAttributes(); if (isValidModel()) { drawPalette(g2d); drawSliders(g2d); drawHistogramPane(g2d); } else { FontMetrics fontMetrics = g2d.getFontMetrics(); drawMissingBasicDisplayInfoMessage(g2d, fontMetrics); } }