我在繪製多行時出現問題。代碼如下:重繪爲什麼只畫一條線?
public void paintComponent(Graphics g){
Graphics2D g2d = (Graphics2D) g;
Map<Device, Device> devMap = matchEncDec();
if(devMap != null){
Iterator<?> it = devMap.entrySet().iterator();
while(it.hasNext()){
Map.Entry<Device, Device> pair = (Entry<Device, Device>) it.next();
it.remove();
g2d.setColor(Color.BLUE);
g2d.drawLine(pair.getKey().getLocationOnScreen().x + 150, pair.getKey().getLocationOnScreen().y,
pair.getValue().getLocationOnScreen().x + 150, pair.getValue().getLocationOnScreen().y);
g2d.drawLine(50, 50, 500, 550);
}
}
}
它只爲最後一對在HashMap和我添加的測試線繪製線。 在此先感謝您的幫助。
是否matchEncDec每次都返回Map的新實例? –