Как можно нарисовать более одного прямоугольника на стеклянной панели? - PullRequest
3 голосов
/ 30 марта 2012

Я пытаюсь нарисовать серию прямоугольников на стеклянной панели, как описано в здесь .дело в том, что на панели отображается только последний элемент из моего списка.

Кто-нибудь знает, как можно нарисовать более одного прямоугольника на одной панели?

используемый код:

метод рисования в классе панели, расширяющий JComponent

protected void paintComponent(Graphics g) {
        if (point != null) {

            int value = this.getGradient();


            Color myColour = new Color(255, value, 0, 175);
            g.setColor(myColour);
            g.fillRect(point.x - 13, point.y - 15, this.width, this.height);

        }
    }

1 Ответ

3 голосов
/ 30 марта 2012

Нет никаких внутренних ограничений на рисование на стеклянной панели, кроме границы отсечения. Например, попробуйте следующее в MyGlassPane.

glass pane demo

protected void paintComponent(Graphics g) {
    if (point != null) {
        g.setColor(Color.red);
        g.drawRect(point.x, point.y, 60, 20);
        g.setColor(Color.blue);
        g.drawRect(point.x, point.y, 20, 60);
    }
}
...