持续更新我在使用JavaFX Scene Builder的过程中遇到的问题和解决办法!

我一般的开发步骤:首先是在Javafx Scene Builder中设计好界面的布局,将界面中要做的事情做完,包括定义控制器类,定义简单的style,定义事件方法,然后将整个FXML文件和用到的资源文件(图片等)一起复制到Eclipse(安装了Javafx开发插件的版本,详情请看我的Javafx第一篇中所需要的软件)中,最后就是在程序中用FXMLLoader去加载它显示出来,查看效果如何。

1.一般不要在JavaFX Scene Builder中添加样式!它会在相应的元素element中添加一个styleClass的属性,但是如果在程序中运行时总是会报一个错误,如果想用CSS来设置每个元素的样式的话建议手动操作!在FXML文件中要设置样式的元素添加一个子节点,如下所示即可!

但是纠结的是,如果在程序中改好了之后,重新在JavaFX Scene Builder中进行界面设计时,JavaFX Scene Builder会将你添加的styleclass删除掉,很多时候处理他们之间的

同步很困难,所以最好做好同步!

2.在使用JavaFX Scene Builder的过程中,经常会出现右边的属性面板出现假死现象,可以resize一下该面板就好了,这个是官网上发现了的已知的bug

3.在本地化的时候,一般我们都是在FXML文件中使用 %BundleText 来绑定特定的properties文件中的某个键值对,但是这里会出现一些问题。例如,将一个Label的text设置为

%Message,那么对应的FXML文件将生成的代码是 text="\%Message",因为%是特殊字符,所以要用反斜线来转义,但是这样一来,就会很麻烦!因为复制到Eclipse中时,Eclipse会报错!原因就在于用于转义的 “\”,它会发现这个斜线是多余的,所以我想了一个办法:%是需要转移的,但是*是不需要的,而且界面是文本中一般不会出现*,所以,在开发界面时如果是要从属性文件中读取相应的文字的话,那么我就定义成 *Message 形式的文本,然后复制到Eclipse中之后,再利用Eclipse的替换功能,注意不能是直接将所有的*换成%,因为FXML文件头部的import元素中也还存在*,所以最好是使用text="%替换text="*,保证万无一失!同理,如果你只是修改了Eclipse中的FXML文件,如果想要复制文件内容同步到Javafx scene builder中的话你就要将%替换成*即可!呵呵,很方便吧!不过还是希望Javafx scenebuilder能够更加的智能!

还有一个需要注意的问题就是,如果你希望某个label或者text开始时为空字符串,(比如这个label就是显示错误信息的,但是初始时肯定是没有的),一般是设置了text为“”,不过最好是能够使用“*Message”,然后在properties文件中设置一下它的初值为空字符串,以免出错!

4.在Javafx scene builder中使用图片:点击File,选择Import,然后选中一张图片即可,工具会自动生成一个ImageView!注意,图片文件名最好不要有空格,不然这次显示正常,下次可能就会出错!如果这张图片在当前的FXML文件所在的目录下或者子目录下,那么对应的url使用的是相对路径,一般是这样子: url="@background-shadow.png" ,但是如果是在当前的FXML文件的父目录或者其他的目录中的话,生成的url是使用绝对路径!例如:url="file:/D:/yinger/My%20DBank/workspace_fxml/apple.png"

同理,要想在JavaFx Scene Builder中使用视频或者音频等等,也是使用同样的方法!更加有用的是,你可以导入其他的FXML文件到当前的FXML文件中,这个十分方便我们实现组件复用!工具会自动的生成相应的导入代码,例如:,除此之外,更新被导入的FXML文件中的内容会同步到这个文件中!

5.一般默认情况下新建的FXML文件的根节点都是AnchorPane,但是有时候我们并不想让根节点是它,比如想让根节点是StackPane,但是如果在JavaFx Scene Builder中却是不允许删除根节点的,怎么办呢?很简单的,修改FXML源文件!直接将源文件中根节点的AnchorPane改成StackPane即可,然后就可以看到效果了!

6.Javafx scene builder有一个很好的功能,点击View,选中Show Outlines可以查看布局的网格线!

7.点击Hierarchy面板右方的小小的向下的箭头,快捷显示fx:id/id/info功能,info一般是显示GridPane的表格大小(列*行)

fxml设置背景_JavaFX Scene Builder使用总结相关推荐

  1. fxml设置背景_JavaFX – 如何获取Tab,Button等的背景颜色

    问题描述:我无法在JavaFX中获得对象的背景.我不是指形状,而是像Buttons,Tabs等常规节点.我不知道如何访问他们的背景颜色. 我想要的是?我正在开发IDE,我想在选项卡上运行Color动画 ...

  2. java fx 多个窗口_JavaFX Scene Builder(窗口各种设置)

    primaryStage.setTitle("左上角名字"); primaryStage.getIcons().add(new Image("/icon/logo1.pn ...

  3. JavaFx-桌面应用开发利器(三)FXML和Scene Builder

    本文接上文JavaFx-桌面应用开发利器(二)基础架构篇,在熟悉了JavaFx的基础框架后,通过基础的学习示例.相信你对基础的Stage和Scene对象等都有了一定的基础认识.在学习的时候,建议各位都 ...

  4. 如何实现场景切换的java_JavaFX + Scene Builder如何切换场景(JavaFX + Scene Builder how switch scene)...

    问 题 我正在使用javafx和scenebuilder,并希望在eclipse中为自己创建一个名为"taskplanner"的本地应用程序. 我创建了一个新的舞台并设置了它场景( ...

  5. JavaFX之Scene Builder的使用(开发一款GUI小工具原来这么简单)

    文章目录 一.前言 二.JavaFX与Scene Builder下载 三.Scene Builder的使用 四.详细教学(示例) 4.1 环境配置 4.2 创建fxml文件以及Controller类文 ...

  6. 使用eclipse和JavaFX Scene Builder进行快速构建JavaFX应用程序

    了解过JavaFX的都知道,JavaFX自从2.0版本开始,已经完全抛弃了之前的script语言,才用纯java来实现.这样的好处就是1.让使用Java的IDE进行JavaFX的开发成为可能,2.Ja ...

  7. java fx scene builder_JavaFX开发工具之JavaFX Scene Builder

    JavaFX Scene Builder是Oracle推出的JavaFX的可视化开发工具.下面就介绍一下今天的主角. 打开后的样子 整体可以分为三个区域:左边部分.中间部分.右边部分.(这不废话吗) ...

  8. IDEA中使用scene builder

    一.什么是JavaFX Scene Builder? JavaFX Scene Builder是一种可视布局工具,允许用户快速设计JavaFX应用程序用户界面,而无需编码.用户可以将UI组件拖放到工作 ...

  9. 安装JavaFX Scene Builder 到Eclipse

    JavaFX Scene Builder是一种可视布局工具,允许用户快速设计JavaFX应用程序用户界面,而无需编码.用户可以将UI组件拖放到工作区,修改其属性,应用样式表,并且它们正在创建的布局的F ...

  10. JavaFX Scene Builder 2.0 + IDEA 制作客户端界面

    主要内容 JavaFX Scene Builder 2.0 的下载和 IDEA的配置 界面生成步骤 JavaFX Scene Builder 2.0 的下载和 IDEA的配置 见此篇文章: JavaF ...

最新文章

  1. 主线程 唤醒_python线程之九:生产者消费者3种方式,2个线程1个协程
  2. Dynamics 365 CRM 开发架构简介
  3. 首款搭载鸿蒙os的设备,华为发布会配件汇总,首款搭载 鸿蒙OS 的设备来了
  4. Mac安装软件报“打不开。。。,因为它来自身份不明的开发者”的解决办法
  5. pointer-events:none
  6. 如何在苹果Mac中使用“启动安全性实用工具”?
  7. django中admin的使用
  8. Java虚拟机内存管理
  9. A315-56 Compal LA-H801P LA-J801P宏基笔记本点位图
  10. OsgEarth下实现雷达波束扫描飞机动画
  11. 模拟无线透传的STM32的24L01无线模块与串口USART通信
  12. 最新版微信 C# 微信HOOK 源代码,微信版本 3.0.0.57
  13. python绘制拟合回归散点图_matplotlib中散点图的回归线和拟合曲线
  14. js中事件加载完成之前添加蒙版
  15. Runtime.getRuntime.exec()执行linux脚本导致程序卡死问题
  16. 用意念打字,中国脑机接口新纪录诞生!
  17. 4K、2K、1080P、720P是什么? 4K电视机、拍照手机、录像机等设备的分辨率又是多少?
  18. mysql 可重复读实现
  19. 《电力系统自动装置》
  20. Duplicate class/entity mapping 问题解决方法

热门文章

  1. cad图纸解析java_Java库以编程方式将AutoCAD .dwg文件转换为PDF或图像?
  2. 【工具网站推荐】文字转语音
  3. 2018引汉济渭计算机监控系统,基于数字水网的引汉济渭受水区水资源调配业务化研究与应用...
  4. 从一个插座面板开始说故事
  5. win7保护视力的电脑设置
  6. An工具介绍之形状工具及渐变变形工具
  7. 12.分布式定时任务(xxl-job)
  8. 美版苹果6突然有4g显示无服务器,苹果6通病——插卡无服务维修思路和教程
  9. 什么是组合(Composition),有什么作用
  10. box-sizing:boder-box原理