Zielony Smok

JavaFX canvas: Rysowanie wieloboku (wielokąta)

Metoda void strokePolygon(double[] xPoints, double[] yPoints, int nPoints)

xPoints – współrzędne x kolejnych punktów łamania linii.

yPoints – współrzędne y kolejnych punktów łamania linii.

nPoints – liczba punktów tworzących wielobok.

Rysuje kontur wielobok o podanych współrzędnych. W przypadku tablic null – nic nie zostanie narysowane.

Podlega atrybutom wspólnym i atrybutom obwiedni.

Listing25_24a

Ściągnij klasę Listing25_24a

>package rozdzial25c;

import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.stage.Stage;

public class Listing25_24a extends Application {

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

    @Override
    public void start(Stage stage) {
        try {
            Group root = new Group();
            Canvas cv = new Canvas(300, 300);
            GraphicsContext gc = cv.getGraphicsContext2D();
            //-
            double[] iksy = {20, 70, 120, 170, 220, 270};
            double[] igreki = {70, 130, 80, 190, 180, 20};
            gc.strokePolygon(iksy, igreki, iksy.length);
            //-
            root.getChildren().add(cv);
            Scene scene = new Scene(root);
            stage.setScene(scene);
            stage.setTitle("Metoda strokePolygon");
            stage.setOnCloseRequest(e -> Platform.exit());
            stage.show();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Ustawione są jedynie domyślne atrybuty renderowania.

Wynik uruchomienia klasy:

Metoda strokePolygon
Rys. 25_11. Metoda strokePolygon

Metoda void fillePolygon(double[] xPoints, double[] yPoints, int nPoints)

xPoints – współrzędne x kolejnych punktów łamania linii.

yPoints – współrzędne y kolejnych punktów łamania linii.

nPoints – liczba punktów tworzących wielobok.

Wypełnia wielobok o podanych współrzędnych. W przypadku tablic null – nic nie zostanie narysowane.

Podlega atrybutom wspólnym i atrybutom obwiedni. Podlega atrybutowi ścieżki Fill Rule.

Klasa Listing25_24b

Ściągnij klasę Listing25_24b

package rozdzial25c;

import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.stage.Stage;

public class Listing25_24b extends Application {

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

    @Override
    public void start(Stage stage) {
        try {
            Group root = new Group();
            Canvas cv = new Canvas(300, 300);
            GraphicsContext gc = cv.getGraphicsContext2D();
            //-
            double[] iksy = {20, 70, 120, 170, 220, 270};
            double[] igreki = {70, 130, 80, 190, 180, 20};
            gc.fillPolygon(iksy, igreki, iksy.length);
            //-
            root.getChildren().add(cv);
            Scene scene = new Scene(root);
            stage.setScene(scene);
            stage.setTitle("Metoda fillPolygon");
            stage.setOnCloseRequest(e -> Platform.exit());
            stage.show();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Ustawione są jedynie domyślne atrybuty renderowania.

Wynik uruchomienia klasy:

Metoda fillPolygon
Rys. 25_12. Metoda fillPolygon