Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno JavaFX - Jak nakreslit oblouk(Arc)?

Dobrý den,

Potřebuji nakreslit oblouk.

Když zadám např. tyto hodnoty:

Arc arc = new Arc();
arc.setCenterX(100.0f);
arc.setCenterY(100.0f);
arc.setRadiusX(80.0f);
arc.setRadiusY(80.0f);
arc.setStartAngle(0.0f);
arc.setLength(80.0f);
arc.setType(ArcType.OPEN);

tak se zobrazí - obrazek

Proč se nenakreslil pouze oblouk? A jak ho teda, prosím Vás, nakreslím?

Děkuji

Předmět Autor Datum
package sample; import javafx.application.Application; import javafx.scene.Group; import javafx.scen…
MaSo 03.02.2019 18:25
MaSo
Aha, setStrokeType , to mě nenapadlo. To jsem přesně chtěl. Díky
MichalDM 04.02.2019 11:39
MichalDM
Ještě bych se chtěl zeptat. Je, prosím Vás, možné nějak vyhladit hrany. Aby tam nebyl tak patrný ras…
MichalDM 04.02.2019 13:24
MichalDM
Už jsem na to došel. Je třeba napsat arc.setSmooth(true); poslední
MichalDM 04.02.2019 22:10
MichalDM
package sample;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Arc;
import javafx.scene.shape.ArcType;
import javafx.scene.shape.StrokeType;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage stage) {
        Arc arc = new Arc(50, 50, 25, 25, 0, 180);
        arc.setType(ArcType.OPEN);
        arc.setStrokeWidth(1);
        arc.setStroke(Color.CORAL);
        arc.setStrokeType(StrokeType.INSIDE);
        arc.setFill(null);

        stage.setScene(new Scene(new Group(arc), 100, 80));
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Zpět do poradny Odpovědět na původní otázku Nahoru