V、D❧R 2019-12-09 19:27 采纳率: 0%
浏览 460

java jdk13 fx 运行时界面大小和预先设置不一样

前两天刚刚从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的预览)

图片说明

有大佬能帮我解决一下这个问题吗?

  • 写回答

1条回答

  • zqbnqsdsmd 2019-12-10 00:20
    关注
    评论

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码