【发布时间】:2020-04-18 11:33:44
【问题描述】:
我正在尝试编写一个实现观察者接口的类,该类根据来自 textField 的输入垂直绘制矩形。除了我的矩形不是从 coord(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();
}
【问题讨论】: