devstory

Le Tutoriel de JavaFX Hyperlink

View more Tutorials:

Site d'apprentissage des langues gratuit:
Suivez-nous sur notre fanpage pour recevoir des notifications chaque fois qu'il y a de nouveaux articles. Facebook

1- JavaFX Hyperlink

JavaFx Hyperlink décrit un lien hypertexte, il est semblable aux hyperliens sur le HTML.

Hyperlink hyperlink = new Hyperlink("Go to Eclipse home page");

hyperlink.setOnAction(new EventHandler<ActionEvent>() {

    @Override
    public void handle(ActionEvent event) {
        getHostServices().showDocument("https://eclipse.org");
    }
});
Par défaut JavaFX Hyperlink a 3 états qui sont illustrés comme indiqué ci-dessous. Il est à noter que vous pouvez utiliser CSS pour les modifier.

2- L'exemple de Hyperlink

L'exemple suivant crée un lien Hyperlink donc lorsque vous cliquez dessus, il va à la page d'accueil d'Eclipse (https://eclipse.org).

HyperlinkDemo.java

package org.o7planning.javafx.hyperlink;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Hyperlink;
import javafx.scene.layout.FlowPane;
import javafx.stage.Stage;

public class HyperlinkDemo extends Application {

    @Override
    public void start(Stage stage) {

        Hyperlink hyperlink = new Hyperlink("Go to Eclipse home page");

        hyperlink.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                getHostServices().showDocument("https://eclipse.org");
            }
        });

        FlowPane root = new FlowPane();
        root.setPadding(new Insets(10));
        root.getChildren().addAll(hyperlink);
        Scene scene = new Scene(root);

        stage.setTitle("JavaFX Hiperlink (o7planning.org)");

        stage.setWidth(400);
        stage.setHeight(200);

        stage.setScene(scene);
        stage.show();
    }

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

}

3- Personnalisation Hyperlink

Avec Hyperlink vous avez quelques méthodes utiles :

public final void setUnderline(boolean value)

public final boolean isUnderline()

public final void setVisited(boolean value)

public final boolean isVisited()
Exemple :
HyperlinkDemo2.java

package org.o7planning.javafx.hyperlink;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Hyperlink;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class HyperlinkDemo2 extends Application {

    private final String TEXT = "Go to Eclipse home page";
   
    @Override
    public void start(Stage stage) {

        Hyperlink hyperlink = new Hyperlink(TEXT);

        hyperlink.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                getHostServices().showDocument("https://eclipse.org");
            }
        });

        Button button1 = new Button("On/Off Visited");

        button1.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                boolean visited = hyperlink.isVisited();
                hyperlink.setVisited(!visited);
                hyperlink.setText(TEXT+" (visited:"+ hyperlink.isVisible()+")");
            }
        });
       
        Button button2 = new Button("On/Off Underline");

        button2.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                boolean underline = hyperlink.isUnderline();
                hyperlink.setUnderline(!underline);
                hyperlink.setText(TEXT+" (underline:"+ hyperlink.isUnderline()+")");
            }
        });
         

        VBox root = new VBox();
        root.setPadding(new Insets(10));
        root.setSpacing(10);
        root.getChildren().addAll(hyperlink,button1,button2);
        Scene scene = new Scene(root);

        stage.setTitle("JavaFX Hiperlink (o7planning.org)");

        stage.setWidth(400);
        stage.setHeight(200);

        stage.setScene(scene);
        stage.show();
    }

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

}

View more Tutorials: