Bir düğümü taşımak için çeviri ne zaman kullanılır? Günün sonunda aynı şeyi yapıyorlar (görsel olarak); düğümü taşıyın; Birincisi orijin üzerinde bir çeviri yaparak (x, y aynı kalır), ikincisi x, y coords değiştirerek. Yani, bir düğümü ekranda belirli bir noktaya taşımak istiyorum .. node.relocate (x, y) veya node.setTranslateX (x), node.setTranslateY (y) kullanmalı mıyım?Çeviri kullanıldığında ve yeniden konumlandırıldığında - Çeviri ve düzen koordinatları arasındaki fark nedir?
Ne demek istediğimi göstermek için aşağıdakilerle oynayabileceğiniz bir örnek program hazırladım: Ekranda bir dikdörtgen var, konumu 4 kaydırıcıyla belirleniyor (2 tanesi düzeni x kontrol ediyor, öteki ikisi çeviriyi denetliyor x, y).
/* imports are missing */
public class TransReloc extends Application{
@Override
public void start(Stage primaryStage) throws Exception {
Group root = new Group();
Rectangle rect = new Rectangle(100, 50, Color.BLUE);
root.getChildren().add(rect);
VBox controlGroup = new VBox();
Slider relocX = new Slider(-100, 100, 0);
Slider relocY = new Slider(-100, 100, 0);
Slider transX = new Slider(-100, 100, 0);
Slider transY = new Slider(-100, 100, 0);
rect.layoutXProperty().bind(relocX.valueProperty());
rect.layoutYProperty().bind(relocY.valueProperty());
rect.translateXProperty().bind(transX.valueProperty());
rect.translateYProperty().bind(transY.valueProperty());
controlGroup.getChildren().addAll(relocX, relocY, transX, transY);
root.getChildren().add(controlGroup);
controlGroup.relocate(0, 300);
Scene scene = new Scene(root, 300, 400, Color.ALICEBLUE);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}