2010-10-29 78 views
1

我需要画一个饼弧在Java中与起始角350和结束角20.The cordinate系统我遵循如下: -绘制弧在Java中

 |0 
     | 
270-----------90 
     | 
     |180 

这里的问题是,起始角大于终点角度。相反,我设法画出弧线。任何帮助都很棒。

回答

6

您将有一个起始角度和一个“范围”角度而不是一个结束角度。所以,我认为你不会在绘制弧线时遇到问题。

import java.awt.Graphics; 
import javax.swing.JFrame; 

public class Test extends JFrame{ 
    public static void main(String[] args){ 
     new Test(); 
    } 
    public Test(){ 
     this.setSize(400,400); 
     this.setVisible(true); 
    } 
    public void paint(Graphics g) { 
     g.fillArc(100, 100, 100, 100, 70, 30); 
    } 
} 

enter image description here

或者,你可以使用Arc2D类为好。还有一件事要注意,在java中,这是默认的坐标机制。

 |90 
     | 
180-----------0 
     | 
     |270 
+0

其实这是一个自定义摆动组件。我正在制作一个双拇指圆形滑块。需要一个具有透明度的圆弧来指示选定的区域。当起始角度大于结束角度。 – Emil 2010-10-29 13:08:10

+0

@Emil:你应该忘记这里的结束角度。弧始终有一个开始角度和一个范围。即使你有一个结束角度,你应该明确地将它翻译成Java的弧。 – bragboy 2010-10-29 13:12:07

+0

@Emil:你可以发布一些代码,我可以帮助.. – bragboy 2010-10-29 13:12:26

2

使用(450 - 角)%360切换角度。概念450 = 180 + 270;