前两天刚刚从1.8转到了13,而且按照网上的正确方法下载了13对应的fx,配置好了user libraries(我甚至还又装了11的fx,尝试着用)
配置好FX后,代码不再报错,也能正常引用FX的包。我也就简单的试着用fxml文件开一个窗口试试,fxml文件及代码如下
fxml文件
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane prefHeight="276.0" prefWidth="441.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8">
<!-- TODO Add Nodes -->
</AnchorPane>
代码
import java.io.IOException;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class test extends Application{
@Override
public void start(Stage primaryStage) throws IOException {
Parent root = FXMLLoader.load(getClass().getResource("a.fxml"));
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.setTitle("a");
primaryStage.show();
}
}
主函数部分
import javafx.application.Application;
/**
* @author Deren.G.Zero
* fx 启动的时候不能直接由继承于Application的类的主函数调用launch来进行,因为该方法存在模块化问题
* 现在选择在另外一个主函数中调用Application.launch(“目标类的class”);来进行实现
*/
public class TableViewExample {
public static void main(String[] args) {
Application.launch(test.class);
}
}
但是运行后出现的窗口和我在SceneBuilder里面预览的大小不一样(实际打开的窗口更大一些)。
而且我试着打开我以前的项目,结果UI也和之前不一样了(后面的是运行使大小,前面的是SceneBuilder的预览)
有大佬能帮我解决一下这个问题吗?