Я пытаюсь визуализировать свои ячейки JTable с помощью подкласса JPanel, и ячейки должны отображаться в виде цветных прямоугольников с нарисованным на них кругом.Когда таблица отображается изначально, все выглядит нормально, но затем, когда диалоговое окно или что-то отображается над ячейками, когда оно удаляется, закрытые ячейки не отображаются должным образом, а круги разбиваются и т. Д. Затем я должен переместить полосу прокрутки.или расширьте окно, чтобы они правильно перерисовывались.
Метод paintComponent компонента, который я использую для визуализации ячеек, приведен ниже:
protected void paintComponent(Graphics g) {
setOpaque(true);
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
GradientPaint gradientPaint = new GradientPaint(new Point2D.Double(0, 0), Color.WHITE, new Point2D.Double(0,
getHeight()), paintRatingColour);
g2d.setPaint(gradientPaint);
g2d.fillRect(0, 0, getWidth(), getHeight());
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
Rectangle clipBounds = g2d.getClipBounds();
int x = new Double(clipBounds.getWidth()).intValue() - 15;
int y = (new Double(clipBounds.getHeight()).intValue() / 2) - 6;
if (level != null) {
g2d.setColor(iconColour);
g2d.drawOval(x, y, width, height);
g2d.fillOval(x, y, width, height);
}
}