Um botão é um controle que aciona um evento de ação quando clicado. JavaFX fornece botões regulares, botões de alternância, botões de caixa de seleção e botões de opção. Os recursos comuns desses botões são definidos nas classes ButtonBase e Labeled conforme mostrado na figura abaixo.
A classe Labeled define as propriedades comuns para rótulos e botões. Um botão é como um rótulo, exceto que o botão tem a propriedade onAction definida na classe ButtonBase, que define um manipulador para lidar com a ação de um botão.
O código abaixo fornece um programa que utiliza os botões para controlar o movimento de um texto, conforme mostrado na figura abaixo.
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); } }
O programa cria dois botões btLeft e btRight com cada botão contendo um texto e uma imagem (linhas 18–19). Os botões são colocados em um HBox (linha 20) e o HBox é colocado na parte inferior de um painel de borda (linha 25). Um texto é criado na linha 14 e colocado no centro do painel da borda (linha 29). O manipulador de ação para btLeft move o texto para a esquerda (linha 31). O manipulador de ação para btRight move o texto para a direita (linha 32).
O programa define propositalmente um método getPane() protegido para retornar um painel (linha 16). Este método será substituído por subclasses nos próximos exemplos para adicionar mais nós no painel. O texto é declarado protegido para que possa ser acessado pelas subclasses (linha 14).
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3