java如何绘制具有指定半径的圆形和矩形?
我试图画一个半径为60的圆,在画面的右下角居中,一个半径为50的正方形,在画面的上半部分居中
框架尺寸为300 x 300。 到现在为止,我都是这么做的
import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;
public class Test {
public static void main ( String[] args){
JFrameTest5 frame = new JFrameTest5();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setTitle("Test");
}
}
class JFrameTest5 extends JFrame {
public JFrameTest5()
{
setLocation(0,0);
setSize(300,300);
PanelTest1 panel = new PanelTest1();
add(panel);
}
}
class PanelTest1 extends JPanel
{
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D)g;
Ellipse2D circle = new Ellipse2D.Double(250, 225, 120,120);
g2.draw(circle);
Rectangle2D rect = new Rectangle2D.Double(75,0,100,100);
g2.draw(rect);
}
}
问题是圆和矩形似乎不正确,是否有其他方法来设置精确的半径
# 1 楼答案
下面的示例包括几个重要的更改:
尽可能使用常量
使用面板相对几何图形
正确使用initial threads
使用
pack()
调整封闭框架的大小代码: