JavaFX标签不显示文本
问题描述:
我已经创建了一个标签并为其分配了一个包含常量变量名称的字符串。然后我给FXML标签FX: FXML文件:在控制器中的标签,这与@FXML注释的想法 JavaFX标签不显示文本
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane prefHeight="387.0" prefWidth="444.0"
xmlns="http://javafx.com/javafx/8.0.111"
xmlns:fx="http://javafx.com/fxml/1"
fx:controller="application.HomeController">
<children>
<Label fx:id="welcomeMsg" layoutX="7.0" layoutY="16.0"
prefHeight="38.0" prefWidth="428.0" textAlignment="CENTER"
textOverrun="CLIP" />
</children>
</AnchorPane>
控制器:
package application;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
public class HomeController {
public String appName = "Probability Distribution Calculator";
@FXML
private Label welcomeMsg = new Label("Welcome to the "+appName);
}
标签所显示的样式我已经给出了它,但是,文本不显示。如果我将静态文本属性分配给它的FXML元素,但是当我尝试使用控制器分配名称时,它不会。
答
我觉得你的控制器应该从Initializable
延伸,你不应该做welcomeMsg = new Label("Welcome to the "+appName)
因为welcomeMsg
将被分配的观点完全加载后FXML标记,也没有把这些变量private
public class HomeController extends Initializable {
public String appName = "Probability Distribution Calculator";
@FXML Label welcomeMsg;
}
可能重复[Java FX 8,麻烦设置文本字段的值](https://stackoverflow.com/questions/26189984/java-fx-8-trouble-setting-the-价值的文本字段) – fabian