Cela ressemble à ce que vous cherchez est une liaison de votre étiquette à une variable de type int. Vous pouvez accomplir cette tâche avec
labelFXid.textProperty().bind(value.asString());
où valeur est un IntegerProperty déclaré dans votre classe de contrôleur et labelFXid est le FXid attribué à votre étiquette dans le document FXML. Vous pouvez trouver un bon exemple de ceci de Uluk Biy's solution à une question similaire. Dans cet exemple, il liait une étiquette directement à partir du fichier FXML. J'ai eu plus de chance de garder le code dans le contrôleur comme dans l'exemple ci-dessous.
FXMLDocument.fxml
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="labelupdater.FXMLDocumentController">
<children>
<Button fx:id="button" layoutX="126" layoutY="90" onAction="#handleButtonAction" text="Click Me!" />
<Label fx:id="label" alignment="CENTER" layoutX="126" layoutY="120" minHeight="16" minWidth="69">
<font>
<Font size="24.0" />
</font></Label>
</children>
</AnchorPane>
FXMLDocumentController.java
package labelupdater;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.beans.property.*;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
public class FXMLDocumentController implements Initializable {
private IntegerProperty counter;
public int getCounter() {
return counter.get();
}
public void setCounter(int value) {
counter.set(value);
}
public IntegerProperty counterProperty() {
return counter;
}
@FXML
private Label label;
@FXML
private void handleButtonAction(ActionEvent event) {
setCounter(getCounter() + 1);
}
@Override
public void initialize(URL url, ResourceBundle rb) {
counter = new SimpleIntegerProperty(0);
label.textProperty().bind(counter.asString());
}
}
Le résultat final est que chaque fois que le bouton est cliqué setCounter(getCounter() + 1)
incrémente la valeur du compteur de variable par une et l'étiquette est automatiquement mis à jour pour afficher la nouvelle valeur. La variable compteur et la liaison sont déclarées dans l'initialisation de FXMLDocumentController.
modifier: correction faute de frappe
Vous devriez montrer que vous avez essayé un code et vous avez un problème, ce n'est pas un s'il vous plaît écrivez-moi la communauté de code – Ibo
Je ne vous demande pas de me écrire un code. J'ai demandé des idées. Merci – Radintern
Cette communauté est de travailler sur les codes, pour les idées que vous avez à choisir une communauté différente. En haut à droite, cliquez sur l'icône la plus à droite et vous pouvez rechercher des communautés STACK EXCHANGE – Ibo