Я пытаюсь написать класс, реализующий интерфейс наблюдателя, этот класс dr aws прямоугольников по вертикали в соответствии с входными данными из textField. Все работает нормально, за исключением того, что мои прямоугольники не начинаются с координат (0, 0). Я попытался поместить System.out.print и посмотреть, что происходит, и кажется, что мой paintComponent () вызывается дважды. Я не мог понять, где именно пошло не так. Может кто-нибудь, пожалуйста, помогите мне решить эту проблему? Ниже мой код:
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
for (int i = 0; i < dm.getData().size(); i++)
{
Rectangle2D rectangle = new Rectangle2D.Double(x, y, dm.getDataElement(i), height);
g2.draw(rectangle);
System.out.println(i + "th rec drew.");
y = y + height;
}
}
public void update(Observable o, Object arg) {
// TODO Auto-generated method stub
repaint();
}