2010-10-29 102 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;