2014-04-20 13 views
1

그래서 캔버스에 축을 그리는 무언가를 만들려고합니다. setStroke 메서드를 사용하여 축 색상을 빨간색으로 설정하려고하지만 잘못된 형식 매개 변수를 제공하고 있음을 알립니다. 나를 괴롭히는 것은 someones 예제 코드를 사용하는 동안 오류를 전혀주지 않는다는 것입니다. 내 코드 : // 여기에왜 내 코드는 색상을 매개 변수로 허용하지 않습니까?

package lissa; 

import java.awt.Color; 
import javafx.scene.Node; 
import javafx.scene.canvas.Canvas; 
import javafx.scene.canvas.GraphicsContext; 

public class kalf extends Canvas{ 
    private GraphicsContext gc ; 
    private Color kleurAs; 

    public kalf(Node achtergrond){ 
     super(); // hoe moet je de grootte instellen? 
     gc = getGraphicsContext2D(); 
     kleurAs = Color.RED; 
     tekenAs(gc); 
    } 

    public void tekenAs(GraphicsContext gc){ 

문제를

gc.setStroke(kleurAs);   
    gc.strokeLine(d, d1, d2, d3); 
} 

예제 코드입니다 :

public class LissajousCanvas extends Canvas { 

private final LissajousData data; 
private static final int AANT_PTN = 200; 
private static final int RAND = 5; 
private final GraphicsContext gc; 
private final int factor; 
private Color kleurAs; 
private ContextMenu menu; 

public LissajousCanvas(LissajousData data, double width, double height) { 
    super(width, height); 
    this.data = data; 
    gc = this.getGraphicsContext2D(); 
    factor = Math.min((int) getWidth(), (int) getHeight()) - 2 * RAND; 
    kleurAs = Color.RED; 
    tekenAssen(); 
    getStyleClass().add("canvas"); 
    maakContextMenu(); 
    final LissajousCanvas canvas = this; 
    addEventHandler(MouseEvent.MOUSE_CLICKED, 
      new EventHandler<MouseEvent>() { 
       @Override 
       public void handle(MouseEvent e) { 
        if (e.getButton() == MouseButton.SECONDARY) { 
         menu.show(canvas, e.getScreenX(), e.getScreenY()); 
        } 
       } 
      }); 
} 

private void tekenAssen() { 

// 올바르게 여전히 발신자로 GraphicsContext를 사용하는 동안, 사용되는 곳입니다 +가있는

// 매개 변수의 색

 gc.setStroke(kleurAs); 

    gc.strokeLine(0, factor/2 + RAND, factor + 2 * RAND, factor/2 + RAND); 
    gc.strokeLine(factor/2 + RAND, 0, factor/2 + RAND, factor + 2 * RAND); 

} 
} 

첫 번째 코드가 올바르지 않고 두 번째 코드가 올바르지 않은 이유는 무엇입니까?

답변

1

잘못된 가져 오기를 사용합니다. JavaFX는 자신의 Color 클래스입니다.

사용

import javafx.scene.paint.Color; 

대신

import java.awt.Color;