Я пытаюсь сделать мои ячейки JTable подклассовой JPanel, и ячейки должны появиться как цветные прямоугольники с кругом, нарисованным на них. Когда таблица отображается на начальном этапе, все выглядит нормально, но затем, когда диалоги или что-то отображается над ячейками, когда они удаляются, закрытые ячейки не отображаются должным образом, а круги разбиты и т. Д. Затем мне нужно перемещать полосу прокрутки или расширить окно, чтобы заставить их правильно перерисовывать.Ячейки JTable не отображают фигуры должным образом
Метод 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);
}
}
Вы должны указать больше контекста. Например, как это называется, каковы переменные с большей областью действия (например, этот «уровень») и т. Д. В идеале попытайтесь создать [SSCCE] (http://sscce.org/). – Gnoupi