鍍金池/ 教程/ Java/ JavaFX曲線
安裝e(fx)clipse到Eclipse (JavaFX工具)
JavaFX屬性
JavaFX文本域(輸入框)
JavaFX切換按鈕
JavaFX曲線
JavaFX教程
JavaFX菜單(Menu)
JavaFX快速入門
JavaFX復選框
JavaFX ScrollPane布局
JavaFX綁定
JavaFX顏色選擇器(ColorPicker)
JavaFX進度指示器
JavaFX按鈕
JavaFX TitledPane布局
JavaFX圓弧
JavaFX開發(fā)環(huán)境安裝配置
在Eclipse安裝JavaFX Scene Builder
JavaFX路徑
JavaFX VBox
JavaFX線條
JavaFX漸變顏色
JavaFX集合
JavaFX BorderPane布局
JavaFX DatePicker
JavaFX單選按鈕
JavaFX滾動條
JavaFX矩形橢圓
JavaFX GridPane布局
JavaFX HBox
JavaFX進度條
JavaFX多邊形折線
JavaFX超鏈接
JavaFX密碼字段
JavaFX Accordion布局
JavaFX概述和簡介
JavaFX選擇框
JavaFX文本
JavaFX顏色
JavaFX文件選擇器(FileChooser)
JavaFX標簽
JavaFX FlowPane布局

JavaFX曲線

JavaFX曲線

要創(chuàng)建三次曲線,請使用適當?shù)臉嬙旌瘮?shù)。

設置三次曲線的主要參數(shù)是startX,startY,controlX1(控件點1X),controlY1(控件點1Y),controlX2(控件點2X)和controlY2(控件點2Y),endX,endY。

startXstartY,endXendY參數(shù)是曲線的起點和終點。controlX1controlY1,controlX2controlY2是控件點。

控制點(控制X1,控制Y1)影響線起點(startX,startY)和中間點之間的線段??刂泣c(controlX2,controlY2)影響線的中點與其終點(endX,endY)之間的線段。

控制點將曲線拉向自身的方向。

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.CubicCurve;
import javafx.stage.Stage;
// create W  w w . yI I b AI.COm 
public class Main extends Application {
  public static void main(String[] args) {
    launch(args);
  }

  @Override
  public void start(Stage stage) {
    stage.setTitle("ComboBoxSample");
    Scene scene = new Scene(new Group(), 450, 250);

    CubicCurve cubic = new CubicCurve();
    cubic.setStartX(0.0f);
    cubic.setStartY(50.0f);
    cubic.setControlX1(25.0f);
    cubic.setControlY1(0.0f);
    cubic.setControlX2(75.0f);
    cubic.setControlY2(100.0f);
    cubic.setEndX(100.0f);
    cubic.setEndY(50.0f);


    Group root = (Group) scene.getRoot();
    root.getChildren().add(cubic);
    stage.setScene(scene);
    stage.show();
  }
}

執(zhí)行上面的代碼,得到如下結果 -

QuadCurve

javafx.scene.shape.QuadCurve類與三次曲線類似。相反的它只有兩個控制點,我們只為QuadCurve描繪一個控制點。如下代碼所示 -

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.QuadCurve;
import javafx.stage.Stage;

public class Main extends Application {
    @Override
    public void start(Stage stage) {
        Group root = new Group();
        Scene scene = new Scene(root, 300, 150);
        stage.setScene(scene);
        stage.setTitle("");

        QuadCurve quad = new QuadCurve();
        quad.setStartX(0.0f);
        quad.setStartY(50.0f);
        quad.setEndX(50.0f);
        quad.setEndY(50.0f);
        quad.setControlX(25.0f);
        quad.setControlY(0.0f);

        root.getChildren().add(quad);

        scene.setRoot(root);
        stage.show();
    }

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

執(zhí)行上面的代碼,得到如下結果 -