关于Java用户图形界面问题

一共有两个代码问题
1.使用 Graphics 绘制雷达面板,有同心圆组成,但使用的 drawArc函数 使用的一个圆心 但是显示的并不是同心圆
2.用程序出现了两个窗口,一个静止一个运动的
感谢

img

package Radar.demo;

import javax.swing.*;
import java.awt.*;

public class Interfaced {
    JFrame jf = new panel();
    int time = 1000;
    class panel extends JFrame{
        //JFrame 界面
        public panel(){
            super("Radar");
            setSize(800,500);
            setVisible(true);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
        //Graphics 画笔
        public void paint(Graphics g){
            super.paint(g);
            g.setColor(Color.BLACK);
            g.fillRect(0,0,getWidth(),getHeight());
            Point center = new Point(getWidth()/2,getHeight()/2);
            //画雷达面板 6圈
            g.setColor(Color.GREEN);
            g.drawArc(center.x-200,center.y-200,300,300,0,360);
            g.drawArc(center.x-200,center.y-200,250,250,0,360);
            g.drawArc(center.x-200,center.y-200,200,200,0,360);
            g.drawArc(center.x-200,center.y-200,150,150,0,360);
            g.drawArc(center.x-200,center.y-200,100,100,0,360);
            g.drawArc(center.x-200,center.y-200,50,50,0,360);
            //面板的线
            g.drawLine(center.x-50,center.y-50,center.x-350,center.y-350);
            //画飞机位置
            for (int i = 0 ;i < Danger.get_num() ;i++){

                int x = (int)Danger.get_plane(i).get_X();
                int y = (int)Danger.get_plane(i).get_Y();
                g.fillArc(x+(center.x-100),y+(center.y-100),6,6,0,360);
            }
            //画追踪的飞机
            g.setColor(Color.RED);
            for (int i = 0 ;i < 4 ;i++ ){
                int x = (int)Danger.get_plane(i).get_X();
                int y = (int)Danger.get_plane(i).get_Y();
                g.fillArc(x+(center.x-100),y+(center.y-100),6,6,0,360);
            }
        }
    }
    //每秒运行
    class thread extends Thread {
        public void run(){
            while (true){
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                jf.repaint();
                Danger.Moving();
                Danger.Sort();
            }
        }
    }
    //运行用户界面
    public void Run(){
        new Interfaced();
        Thread a  =new thread();
        a.start();
    }

}