2013-11-04 109 views
0

我真的沒有任何的代碼,但除了我,在一個JFrame僅消耗圈。我必須畫出兩個圈,一個內圈和一個圈,形成一個圈。圓圈的起點是(50,50)。外環必須是內圈的寬度的兩倍和外圓的起始RING_WIDTH是40.如何繪製2個同心圓?

任何幫助不勝感激。謝謝。

+0

首先,試着寫代碼,可以畫一個圓,一個特定的中心。 – Justin

+3

我不明白這個問題。如果你可以繪製一個圓圈,爲什麼你不能繪製兩個圓圈。你所做的就是改變繪製方法的參數來繪製第二個圓。 – camickr

+0

看看到[這個答案](http://stackoverflow.com/questions/19254551/jslider-advice-needed/19256985#19256985)。它可以幫助您找到合適的座標。 – dic19

回答

1

擡升最這個代碼從這裏,第一谷歌結果:http://java2everyone.blogspot.com/2008/12/draw-circle-in-jframe.html

import javax.swing.JFrame; 

import java.awt.Graphics; 
import java.awt.Color; 

public class DrawCirclesInJFrame extends JFrame { 
    public static final int INNER_WIDTH = 20; 
    public static final int OUTER_WIDTH = 40; 

    public DrawCirclesInJFrame() { 
     super("Draw Circles In JFrame"); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setSize(400, 400); 
     setVisible(true); 
    } 

    public void paint(Graphics g) { 
     super.paint(g); 

     g.drawOval(50-INNER_WIDTH/2, 50-INNER_WIDTH/2, INNER_WIDTH, INNER_WIDTH); 
     g.drawOval(50-OUTER_WIDTH/2, 50-OUTER_WIDTH/2, OUTER_WIDTH, OUTER_WIDTH); 
    } 

    public static void main(String[] args) { 
     DrawCirclesInJFrame dlijf = new DrawCirclesInJFrame(); 
    } 
} 

兩者都在50,50居中。內圓直徑是/ 20的寬度,圓和外圓的兩倍,在40處

注意:此答案假定由「起點」,則指的是「中心點」。

+0

這不會將第二個環居中在第一個環的中間。這是我的問題。有一些計算,我無法想出中心內圈。 – user2953556

+0

我的壞..修復 – sdanzig

+0

謝謝!這正是我需要的 – user2953556