这是在另一台PC(Win8 / 10)和我的电脑(Win7)上运行时的样子
if (dy>dx){
pn = pn+2*dx-dy;
g.setColor(Color.LIGHT_GRAY);
g.fillRect(jpw2-5+xn*10,jph2-yn*10+5,10,-10);
System.out.println("xn= "+xn+" yn= "+ yn);
while (!(xn==x2 && yn==y2)){
if (pn<0){
yn=yn+ys;
pn=pn+2*dx;
}else{
xn=xn+xs;
yn=yn+ys;
pn=pn+2*dx-2*dy;
}
System.out.println("xn= "+xn+" yn= "+ yn);
g.fillRect(jpw2-5+xn*10,jph2-yn*10+5,10,-10);
}
g.setColor(Color.red);
g.drawLine(jpw2+x1*10,jph2-y1*10,jpw2+xn*10,jph2-yn*10);
}
它跳过了g.fillRect();但不跳过g.drawLine(); 在我的计算机和我的朋友计算机上完美运行win7,但在第1张图片中看不到其他地方。