Bouton

PHPz
Libérer: 2024-07-16 22:02:10
original
1282 Les gens l'ont consulté

Un bouton est un contrôle qui déclenche un événement d'action lorsqu'on clique dessus. JavaFX fournit des boutons normaux, des boutons à bascule, des boutons de case à cocher et des boutons radio. Les caractéristiques communes de ces boutons sont définies dans les classes ButtonBase et Labeled, comme le montre la figure ci-dessous.

Image description

La classe Labeled définit les propriétés communes aux étiquettes et aux boutons. Un bouton est comme une étiquette, sauf que le bouton a la propriété onAction définie dans la classe ButtonBase, qui définit un gestionnaire pour gérer l'action d'un bouton.

Le code ci-dessous donne un programme qui utilise les boutons pour contrôler le mouvement d'un texte, comme le montre la figure ci-dessous.

package application;
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.image.ImageView;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.text.Text;

public class ButtonDemo extends Application {
    protected Text text = new Text(50, 50, "JavaFX Programming");

    protected BorderPane getPane() {
        HBox paneForButtons = new HBox(20);
        Button btLeft = new Button("Left", new ImageView("file:/C:/Users/Paul/development/MyJavaFX/src/application/image/lo.jpg"));
        Button btRight = new Button("Right", new ImageView("file:/C:/Users/Paul/development/MyJavaFX/src/application/image/lo.jpg"));
        paneForButtons.getChildren().addAll(btLeft, btRight);
        paneForButtons.setAlignment(Pos.CENTER);
        paneForButtons.setStyle("-fx-border-color: green");

        BorderPane pane = new BorderPane();
        pane.setBottom(paneForButtons);

        Pane paneForText = new Pane();
        paneForText.getChildren().add(text);
        pane.setCenter(paneForText);

        btLeft.setOnAction(e -> text.setX(text.getX() - 10));
        btRight.setOnAction(e -> text.setX(text.getX() + 10));

        return pane;
    }

    @Override // Override the start method in the Application class
    public void start(Stage primaryStage) {
        // Create a scene and place it in the stage
        Scene scene = new Scene(getPane(), 450, 200);
        primaryStage.setTitle("ButtonDemo"); // Set the stage title
        primaryStage.setScene(scene); // Place the scene in the stage
        primaryStage.show(); // Display the stage
    }

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

Copier après la connexion

Image description

Le programme crée deux boutons btLeft et btRight, chaque bouton contenant un texte et une image (lignes 18-19). Les boutons sont placés dans une HBox (ligne 20) et la HBox est placée en bas d'un volet de bordure (ligne 25). Un texte est créé à la ligne 14 et est placé au centre du volet de bordure (ligne 29). Le gestionnaire d'action pour btLeft déplace le texte vers la gauche (ligne 31). Le gestionnaire d'action pour btRight déplace le texte vers la droite (ligne 32).

Le programme définit volontairement une méthode protégée getPane() pour renvoyer un volet (ligne 16). Cette méthode sera remplacée par les sous-classes dans les exemples à venir pour ajouter plus de nœuds dans le volet. Le texte est déclaré protégé afin d'être accessible aux sous-classes (ligne 14).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal