用于Label的JavaFx setText

时间:2018-05-09 08:15:28

标签: java user-interface javafx label

我是JavaFx的新手,实际上我正在尝试更改/设置标签文字。在我的眼里,我做了所有要做但却无效的事情。希望有人能帮助我。我现在正在寻找几个小时,但我猜我永远不会发现我的错误。此外,我想错误是找到控制器,但在我观察的一些例子中,它看起来类似于我的代码..

FXML:     

package presentation;

import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;

public class DataController implements Initializable {

    @FXML
    private Label name;
    private Label daten;

    private void init() {
        name.setText("Hello World!");
        daten.setText("AnotherTest");
    }


    @Override
    public void initialize(URL url, ResourceBundle rb) {
        // TODO
    }    

}

我的控制器:

package presentation;


import application.*;
import data.*;
import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.stage.Stage;


public class Data extends Application {

    @Override
    public void start(Stage stage) throws Exception {
        Parent root = FXMLLoader.load(getClass().getResource("DataView.fxml")); 
        Scene scene = new Scene(root);

        stage.setTitle("Übung 0");
        stage.setScene(scene);
        stage.show();
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        launch(args);
    }

}

和应用程序类

{{1}}

2 个答案:

答案 0 :(得分:1)

public class DataController implements Initializable {

    @FXML
    private Label name;

    @FXML
    private Label daten;

    private void init() {
        name.setText("Hello World!");
        daten.setText("AnotherTest");
    }


    @Override
    public void initialize(URL url, ResourceBundle rb) {
        init();
    }    

}

答案 1 :(得分:0)

您需要在控制器类中加载fxml文件。像这样:

Parent warningRoot = FXMLLoader.load(getClass().getResource("yourfxmlfile.fxml"));
Scene scene = new Scene(warningRoot);
Stage stage = new Stage();