我是一名新手程序员,试图将两个2D圆圈叠加在一起。每个圆圈都有不同的尺寸,我知道从xCenter和yCenter添加或减少会在轴上移动形状,但我怎么知道它们是居中的呢?不幸的是,我是一个新手,没有很多工具,所以最简单的信息可能会非常感激。谢谢!
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class RedCross extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
int xCenter = getWidth() / 2;
int yCenter = getHeight() / 2;
g.setColor(Color.BLUE);
g.fillOval(xCenter, yCenter, 40, 40);
g.setColor(Color.RED);
g.fillOval(xCenter, yCenter, 10, 10);
}
public static void main(String[] args)
{
JFrame window = new JFrame("Target");
window.setBounds(300, 300, 200, 200);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
RedCross panel = new Target();
panel.setBackground(Color.WHITE);
Container c = window.getContentPane();
c.add(panel);
window.setVisible(true);
}
}
答案 0 :(得分:0)
用于居中圈子的方法是如何居中对象。只需要在宽度的一半和高度的一半上取一点,这就是你的中心。这是因为圆的中心具有与中心点等距离的圆上的所有点。这就是圈子的定义。
答案 1 :(得分:0)
物体的中心是window/2 - self/2
在代码中:
int xPanel = getWidth();
int yPanel = getHeight();
int sizeCircleOne = 40;
int sizeCircleTwo = 10;
// Drawing circle 1
g.setColor(Color.BLUE);
g.fillOval(
xPanel/2 - sizeCircleOne/2,
yPanel/2 - sizeCircleOne/2,
sizeCircleOne,
sizeCircleOne
);
// Drawing circle 2
g.setColor(Color.RED);
g.fillOval(
xPanel/2 - sizeCircleTwo/2,
yPanel/2 - sizeCircleTwo/2,
sizeCircleTwo,
sizeCircleTwo
);
让我知道它是否有效。
快乐编码:) -Charlie