Rumah  >  Artikel  >  Java  >  Dalam JavaFX, apakah elemen laluan yang berbeza?

Dalam JavaFX, apakah elemen laluan yang berbeza?

王林
王林ke hadapan
2023-08-28 12:53:201003semak imbas

javafx.scene.shape Pakej ini menyediakan beberapa kelas yang boleh anda gunakan untuk melukis pelbagai bentuk 2D, tetapi ini hanyalah bentuk primitif seperti garisan, bulatan, poligon dan bujur dan seterusnya... Jadi jika anda ingin melukis bentuk tersuai yang kompleks, anda perlu menggunakan kelas Path.

Kelas laluan

Kelas laluan Anda boleh melukis laluan tersuai menggunakan garis besar geometri ini yang mewakili bentuk.

Untuk melukis laluan tersuai, JavaFX menyediakan pelbagai elemen laluan, kesemuanya tersedia sebagai kelas dalam pakej javafx.scene.shape .

  • LineTo - Kelas ini mewakili elemen laluan line. Ia membantu anda melukis garis lurus dari koordinat semasa ke koordinat (baru) yang ditentukan.

  • HlineTo - Ini ialah kelas yang mewakili elemen laluan garis mendatar. Ia membantu anda melukis garisan mendatar dari koordinat semasa ke koordinat (baru) yang ditentukan.

  • VLineTo - Ini ialah kelas yang mewakili elemen laluan garis menegak. Ia membantu anda melukis garis menegak dari koordinat semasa ke koordinat (baharu) yang ditentukan.

  • QuadCurveTo - Kelas ini mewakili elemen laluan #🎜🎜 #lengkung kuadratik. Ia membantu anda melukis lengkung kuadratik daripada koordinat semasa kepada koordinat semasa Nyatakan koordinat (baru).

  • CubicCurveTo - Kelas ini mewakili elemen laluan kubik curve. Ia membantu anda melukis lengkung padu daripada koordinat semasa ke koordinat (baru) yang ditentukan.

  • ArcTo - Ini ialah kelas yang mewakili elemen laluan ARC. Ia membantu anda melukis lengkok dari koordinat semasa ke koordinat (baru) yang ditentukan.

  • MoveTo - Menggunakan kelas ini anda boleh mengalihkan laluan daripada koordinat semasa ke koordinat baharu.

Mencipta laluan menggunakan elemen laluan

Kelas Path mengandungi senarai boleh diperhatikan yang memegang laluan semasa. Jadi, untuk melukis laluan -

  • instantiate kelas PathElement yang diperlukan.

  • Tetapkan sifat setiap laluan menggunakan kaedah penetap, atau hantarkannya sebagai parameter kepada pembina.

  • Segera kelas Path.

  • Dapatkan objek yang boleh diperhatikan menggunakan kaedah

    getElements() untuk mendapatkan objek senarai Path yang dibuat di atas.

  • Tambahkan semua objek elemen laluan ke senarai yang boleh diperhatikan dalam susunan yang dikehendaki menggunakan kaedah add() atau addAll().

  • Akhir sekali, tambah laluan ke objek Kumpulan.

NOTE - Anda juga boleh menghantar elemen laluan kepada pembina kelas Path.

Contoh

Contoh JavaFX berikut menggunakan elemen laluan LineTo untuk mencipta laluan−

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.shape.LineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
public class PathElementsExample extends Application {
   public void start(Stage stage) {
      //Drawing the shape
      MoveTo moveTo = new MoveTo(208, 71);
      LineTo line1 = new LineTo(421, 161);
      LineTo line2 = new LineTo(226,232);
      LineTo line3 = new LineTo(332,52);
      LineTo line4 = new LineTo(369, 250);
      LineTo line5 = new LineTo(208, 71);
      //Creating a Path
      Path path = new Path(moveTo, line1, line2, line3, line4, line5);
      path.setFill(Color.DARKCYAN);
      path.setStrokeWidth(8.0);
      path.setStroke(Color.DARKSLATEGREY);
      //Preparing the Stage object
      Group root = new Group(path);
      Scene scene = new Scene(root, 595, 300, Color.BEIGE);
      stage.setTitle("Drawing an arc through a path");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}
Output

Atas ialah kandungan terperinci Dalam JavaFX, apakah elemen laluan yang berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam