2013-11-04 71 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