devstory

Le Tutoriel de JavaFX Group

  1. JavaFX Group
  2. Exemple de JavaFx Group
  3. Exemple de JavaFx Group et des effets

1. JavaFX Group

JavaFX Group est un conteneur, il est un composant qui n'applique pas la mise en page (Layout) pour ses éléments enfants. Tous les éléments d'enfants sont été placés 0,0. Le but de Groupe est de rassembler des contrôles et d'effectuer une certaine tâche. Par exemple, vous pouvez rassembler 2 Radio mâle et femelle dans un groupe de sexe. Appliquez des effets au Group, il aura des effets avec tous les secteurs enfants dans le groupe.
Voir plus JavaFX RadioButton :
Si vous voulez mettre en place la position des composants d'enfants dans le Group, vous devez les mettre dans la section Mise en page (Layout), et ajouter ces composants au groupe.
Group group = new Group();

Button button1 = new Button("Button 1");
Button button2 = new Button("Button 2");

// Add to Group
group.getChildren().addAll(button1, button2);

2. Exemple de JavaFx Group

Group n'applique pas la Mise en page (Layout) pour ses éléments hérités. Tous les composants d'enfants sont situés en position (0,0).
GroupDemo.java
package org.o7planning.javafx.group;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class GroupDemo extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {

        Button button1 = new Button("This is a long button");
        button1.setPrefSize(180, 80);
        
        Button button2 = new Button("Short button");
        
        Text text = new Text("Text");
        text.setFont(new Font("Arial",20));
        text.setX(200);
        text.setY(100);
        
        Group root = new Group();
        

        root.getChildren().addAll(button1, button2,text);

        Scene scene = new Scene(root, 250, 100);

        primaryStage.setTitle("JavaFX Group (o7planning.org)");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

}

3. Exemple de JavaFx Group et des effets

L'exemple ci-dessous, ajoutez des composants dans un Group et appliquez des effets de mouvement flou (Motion Blur) pour le Group, il travaillera avec tous les composants au sein du Group.

 

GroupEffectDemo.java
package org.o7planning.javafx.group;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.effect.MotionBlur;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class GroupEffectDemo extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {

        Group root = new Group();

        Rectangle rectangle = new Rectangle();
        rectangle.setX(10);
        rectangle.setY(30);
        rectangle.setWidth(160);
        rectangle.setHeight(80);
        rectangle.setFill(Color.DARKBLUE);

        Text text = new Text();
        text.setText("Motion Blur!");
        text.setFill(Color.RED);
        text.setFont(Font.font("null", FontWeight.BOLD, 36));
        text.setX(25);
        text.setY(65);

        Button button = new Button("My Button");

        root.setCache(true);

        // Create a MotionBlur effect
        MotionBlur motionBlur = new MotionBlur();

        // Sét effect for the Group.
        root.setEffect(motionBlur);
        // Translate X axis 50 pixel
        root.setTranslateX(50);

        // All components to Group
        root.getChildren().addAll(rectangle, button, text);

        Scene scene = new Scene(root, 250, 100);

        primaryStage.setTitle("JavaFX Group Demo (o7planning.org)");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

}
Voir plus les documents d'effets JavaFX Effects à :

    Tutoriels de JavaFX

    Show More