Hallo zusammen,
ich bin noch relativ unerfahren mit JavaFX und probier mich hier noch ein bisschen aus.
Nun zu meiner Frage:
Wie schaffe ich es dass sich der Wert in einem Label ständig dem neuen Wert einer Property anpasst.
Hier der Code der Main
hier der Code des Controllers:
und hier der der FXML Datei:
Mein Problem ist das jeweil nur der letzte Wert angezeit wid.
MfG T.Schwenk
ich bin noch relativ unerfahren mit JavaFX und probier mich hier noch ein bisschen aus.
Nun zu meiner Frage:
Wie schaffe ich es dass sich der Wert in einem Label ständig dem neuen Wert einer Property anpasst.
Hier der Code der Main
Java:
package testApp;
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.fxml.FXMLLoader;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("FXTest.fxml"));
AnchorPane root = (AnchorPane) loader.load();
Scene scene = new Scene(root);
//scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
hier der Code des Controllers:
Code:
package testApp;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
public class FXTestController implements Initializable {
StringProperty stringProperty = new SimpleStringProperty("Connected");
@FXML
private Label label;
@FXML
private Button button;
public void start(ActionEvent e) {
for (int i = 0; i < 10000; i++) {
stringProperty.setValue("" + i);
}
}
@Override
public void initialize(URL location, ResourceBundle resources) {
label.textProperty().bind(stringProperty);
}
}
und hier der der FXML Datei:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8" fx:controller="testApp.FXTestController">
<children>
<BorderPane prefHeight="200.0" prefWidth="200.0">
<center>
<Label fx:id="label" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="20.0" prefWidth="200.0" text="Label" textAlignment="CENTER" BorderPane.alignment="CENTER">
<BorderPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</BorderPane.margin>
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
</Label>
</center>
<bottom>
<Button fx:id="button" mnemonicParsing="false" onAction="#start" text="Button" BorderPane.alignment="CENTER" />
</bottom>
</BorderPane>
</children>
</AnchorPane>
Mein Problem ist das jeweil nur der letzte Wert angezeit wid.
MfG T.Schwenk
Zuletzt bearbeitet von einem Moderator: