ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何通过id更改fxml标签文本

2019-07-22 15:02:01  阅读:306  来源: 互联网

标签:java javafx javafx-8 fxml


我的fxml文件上有Label:

 <children>
    <Label fx:id="lblTest" text="Label" />
 </children>

如何从主/控制器java文件中将文本从“标签”更改为“Hello”?

我刚刚开始学习JavaFX的基础知识,我不确定是否可能

解决方法:

问题

您希望在作为FXML / Controller / MainApp一部分的标签上设置文本

通常你有三个文件:

> FXML-文件
> FXML控制器
>扩展Application并覆盖start方法的类

一点例子:

LabelText.java

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class LabelText extends Application {

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

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

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.*?>

<AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.40" fx:controller="labeltext.FXMLDocumentController">
    <children>
        <Label fx:id="lblTest" layoutX="126.0" layoutY="92.0" minHeight="16" minWidth="69" />
    </children>
</AnchorPane>

FXMLDocumentController.java

package labeltext;

import javafx.fxml.FXML;
import javafx.scene.control.Label;

public class FXMLDocumentController {

    @FXML
    private Label lblTest;

    @FXML
    private void initialize() {
        lblTest.setText("I'm a Label.");
    }
}

就是这样.

标签:java,javafx,javafx-8,fxml
来源: https://codeday.me/bug/20190722/1504068.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有