JavaFX屬性綁定


屬性綁定是javafx新引入的概念,可以將一個目標對象與一個源對象綁定。

1.綁定方法很簡單,只有一個簡單函數

target.bind(source);
//target相當於因變量,source相當於自變量

2.javafx的許多對象都可以作為自變量或者因變量。

3.綁定類型屬性可以當作一個新數據類型。不過它是抽象類不能new出新對象。創新對象需要用下面表格第三列.

類型 綁定屬性類型 (抽象類) 創建子類的綁定屬性類型
int IntegerProperty SimpleIntegerProperty
long LongProperty SimpleLongProperty
float FloatProperty SimpleFloatProperty
double DoubleProperty SimpleDoubleProperty
boolean BooleanProperty SimpleBooleanProperty
String StringProperty SimpleStringProperty
List ListProperty SimpleListProperty
Set SetProperty SimpleSetProperty
Map MapProperty SimpleMapProperty

4.新屬性綁定距離代碼:

import javafx.beans.property.DoubleProperty;
import javafx.beans.property.SimpleDoubleProperty;

public class train(){
	public static void main(String[] arge){
		Double a = new SimpleDoubleProperty(6);
		Double b = new SimpleDoubleProperty(9);
		a.bind(b);
		System.out.println("a的值為:"+a+",b的值為:"+b);
		b.setValue(10);
		System.out.println("a的值為:"+a+",b的值為:"+b);
	}
}
//輸出結果:a的值為:9,b的值為9
//a的值為10,b的值為10

5.屬性綁定代碼展示:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;

public class 屬性綁定 extends Application {
	@Override
	public void start(Stage qwe) {
		Pane pane = new Pane();
		Circle c = new Circle();
		c.centerXProperty().bind(pane.widthProperty().divide(2));
		c.centerYProperty().bind(pane.heightProperty().divide(2));
		c.setRadius(75);
		c.setFill(Color.BLUE);
		pane.getChildren().add(c);
		Scene scen = new Scene(pane,200,200);
		qwe.setTitle("圓");
		qwe.setScene(scen);
		qwe.show();
	}
	public static void main(String[] args) {
		Application.launch(args);
	}

}
>運行結果:產生一個圓,不論界面如何變化,圓始終位於窗口中間。

6.還可以雙向綁定:bindDidirectional().


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM