在控制类的初始化方法调用TextField的setText()方法进行文本设置时抛出 java.lang.RuntimeException异常,如图:
控制器代码(对应的fxml文件为TMenu.fxml):
package Controller;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.Tab;
import javafx.scene.layout.AnchorPane;
import javafx.scene.text.Text;
public class THomeController implements Initializable {
@FXML
private Tab TabCourse;
@FXML
private Tab TabTask;
@FXML
private Button ButExit;
@FXML
private Label TextWelcome;
@FXML
private Button ButChangeP;
@FXML
private AnchorPane TabRoom;
@FXML
private AnchorPane AP_THome;
@Override
public void initialize(URL url, ResourceBundle rb) {
TextWelcome.setText("hi");
}
}
出错代码:
求高人指点,感激不尽。
1.不一定是JavaFx的setText()方法错误,从异常的信息来看是调用目标错误,JavaFx在JDK8存在兼容性问题,可以尝试切换JDK1.7
2.从图片上看有可能是加载的目标xml路径错误,java的getResource是从classpath加载,从截图上是"TMeun.xml",应该的写法是"/TMeun.xml"