问题描述
我正在尝试使用Java图形和用户输入的半径和高度来绘制圆柱体。我正在疯狂地尝试使我的x和y点正确对齐。我知道这是不对的,但是这是我要给我的线条和椭圆形提供的,以及我的意思的意思...我对此很陌生,所以不要对我太刻薄!
g.drawOval(50,50,radius,height);
g.drawLine(50,94,287 + height);
g.drawLine(50 + radius,50 + radius,287 + height);
g.drawOval(50,331,height);
解决方法
我设法重构您的代码以获得所需的内容,这就是它的样子。
g.drawOval(50,94,width,height);
g.drawOval(50,287,height);
g.drawLine(50,94+height/2,50,287+height/2);
g.drawLine(50+width,50 + width,287 + height/2);
我将使用更加模块化和灵活的解决方案来编辑我的问题,但现在希望对您有所帮助。
回想一下,您给drawOval函数提供的坐标不是该椭圆形中心的坐标。这些坐标指向rectangle的左上角,该椭圆封装了您的椭圆形。考虑到这一点,并进行了计算,这就是我想出的。