目录

Properties窗口预览

Text面板

Text

Font

Text Fill

Wrap Text

Text Alignment

Text Overrun

Ellipsis String

Underline

Line Spacing

Specific面板

Default Button

Cancel Button

Graphic面板

Graphic Text Gap

Content Display

Node面板

Alignment

Disable

Opacity

Node Orientation

Visible

Focus Traversable

Cache Shape

Center Shape

Scale Shape

Opaque Insets

Cursor

Effect

JavaFX CSS面板

Style

Style Class

Stylesheets

Id

Extras面板

Blend Mode

Cache

Cache Hint

Depth Test

Insets

Mouse Transparent

Pick On Bounds

其他

如何在Text中输入多行文本

加载CSS文件路径


Properties窗口预览

按钮控件Button的Properties窗口预览如下:

容器控件AnchorPane的Properties窗口预览如下:

注意:不同控件的Properties窗口内的内容是不同的,不过大体上都差不多,多的一些内容就是该控件特有的属性,少的一些内容就是该控件没有的属性,所以不必纠结学会所有的属性,用到了再查询即可。

本节将以按钮控件Button为例来说明一些常用属性配置。

Text面板

Text面板主要是一些文本属性的配置,一般如Button、Label、CheckBox控件都有这类属性配置。

各属性说明如下:

Text

设置控件在标签中显示的文本。

Font

用于标签中文本的默认字体。

其中Family可以选择不同的字体,如微软雅黑等,可以选择的字体很多:

如“叶根友毛笔行书简体”,这是电脑本地带有的字体。

其中Style指的是字体样式,如加粗、斜体等。

Bold指的是对字体进行加粗处理;Bold Italic指的是对字体进行加粗并且斜体处理;Italic指的是对字体进行斜体处理;Regular指的是字体的常规显示。

其中Size可以调节字体大小,通过拖动滑条。

Text Fill

该属性是设置显示的文本的颜色的。

并且可以设置渐变色的:

Wrap Text

如果一行文本超出了Labeled的宽度,则指示文本是否应该换行。

如果不勾选的话就不会换行,但是由于宽度不够会以句点替换掉文本。

Text Alignment

指定当文本为多行时文本行的对齐方式,对单行文本无效。

Text Overrun

指定的文本Labeled 超过可用于呈现文本的空间时使用的处理方式。

Ellipsis String

指定文本被截断时要显示的省略号字符串,要Text Overrun属性选择与"ELLIPSIS"相关的才能成功,Text Overrun默认是ELLIPSIS,Ellipsis String默认是"..."。

把“...”修改为“XXX”测试下:

Underline

为文本添加下划线。

Line Spacing

指定行之间的像素间距。

Specific面板

控件的一些特有属性。

Default Button

如果场景中没有其他节点使用它,则默认按钮是接收键盘VK_ENTER按下的按钮。

意思是如果你勾选了这个复选框就表示你可以通过点击键盘上的ENTER键来触发该按钮事件。

Cancel Button

如果场景中没有其他节点消耗它,则“取消按钮”是接收键盘VK_ESC按下的按钮。

意思是如果你勾选了这个复选框就表示你可以通过点击键盘上的ESC键来触发该按钮事件。

Graphic面板

这个是设置控件图标和控件中文本的相关属性配置,所以必须改控件有图标才会生效,否则设置无效。

Graphic Text Gap

指的是图形和文字之间的空间量。

Content Display

指定图形相对于文本的位置。

TOP指图标在文本上方;

RIGHT指图标在文本右方;

BOTTOM指图标在文本下方;

LEFT指图标在文本左方;

CENTER指图标在文本正中间;

GRAPHIC_ONLY指只显示图标;

TEXT_ONLY指只显示文本。

Node面板

Node指的是该控件节点,所有的控件都有这类属性配置。

Alignment

指定当标签内有空白时,应如何对齐标签内的文本和图形(需要控件内的空白足够大才能观察明白)。

Disable

禁止控件使用。如果勾选则是禁止使用。

Opacity

设置控件的透明度,可以根据滑条进行调节,也可以在文本框输入,范围是0-1。

Node Orientation

设置组件内数据方向,是从左到右还是从右到左,默认是从左到右。

Visible

设置控件是否显示,勾选表示显示该控件,否则不显示。

Focus Traversable

指定这是否Node应该是焦点遍历循环的一部分。当此属性为true焦点可以移动到这个 Node从这个Node使用常规的焦点遍历键。在桌面上,此类键通常TAB用于向前移动焦点和SHIFT+TAB向后移动焦点。

意思就是如果勾选了这个Focus Traversable复选框的话,那么当使用TAB键移动焦点时,会直接跳过该控件,该控件就不会获得焦点。

Cache Shape

定义对系统的提示,指示用于定义区域背景的Shape稳定并且可以从缓存中受益。

Center Shape

定义形状是否在“区域”的宽度或高度内居中。 true表示形状在“区域”的宽度和高度内居中,false表示形状位于其源位置。勾选表示true,不勾选表示false。

Scale Shape

指定是否缩放形状(如果已定义)以匹配“区域”的大小。 true表示形状按比例缩放以适合Region的大小,false 表示形状处于其原始大小,其位置取决于的值 centerShape

Opaque Insets

定义绘制完全不透明像素的区域区域。这用于各种性能优化。该区域内的像素必须完全不透明,否则会导致渲染失真。应用程序有责任通过代码或CSS来确保opaqueInsets基于该区域的背景和边界对于该区域而言是正确的。每个插图的值都必须是实数,而不是NaN或Infinity。如果不存在已知的inset,则应该将opaqueInsets设置为null。

Cursor

设置但鼠标放在该控件上时,鼠标是什么形状的。

Effect

为控件应用一些特殊的3D效果。

变成如下:

JavaFX CSS面板

为控件设置CSS样式,基本上每个控件都有该类属性配置,即通过CSS来为控件添加样式。

Style

Style是行内样式,即该控件的一些CSS样式,是写在FXML文件中的。下面是设置背景色:

Style Class

为控件添加一个class为标志该控件,多个控件可以设置同一个class,一个控件也可以设置多个class,但是一个控件只能设置id。

设置class后,在CSS文件中使用点(“.")选择器来设置样式,比如说这里就是:".buttonStyle"。

Stylesheets

选择电脑本地的CSS样式文件,但需要注意文件的路径问题。

Id

设置控件的ID,每个控件只能设置一个ID,一个ID也只能被一个控件所使用。

在CSS样式文件中通过选择器(“#”)来设置样式,如这里的选择器是:#button_one

Extras面板

一些其他的属性,基本所有控件都有这类属性,这些用得非常非常少。

Blend Mode

混合模式定义将混合效果的输入合成在一起的方式,或将节点如何混合到场景背景中的方式。

具体可以参照官网:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/effect/BlendMode.html

Cache

系统的性能提示,指示Node 应将其缓存为位图。在许多情况下,渲染节点的位图表示将比渲染图元更快,特别是在应用了效果(例如模糊)的图元的情况下。但是,这也会增加内存使用率。此提示表明是否值得进行权衡(增加内存使用以提高性能)。还要注意,在某些平台(例如GPU加速平台)上,使用模糊和其他效果时,将节点缓存为位图几乎没有什么好处,因为它们在GPU上的渲染速度非常快。

默认不勾选。

Cache Hint

用于控制位图缓存的其他提示。

在某些情况下,例如对渲染起来非常昂贵的动画节点,希望能够在节点上执行转换而不必重新生成缓存的位图。在这种情况下,一种选择是对缓存的位图本身执行转换。

该技术可以极大地提高动画效果,但也可能导致视觉质量下降。该cacheHint变量为系统提供了有关如何以及何时可以进行权衡(动画效果的视觉质量)的提示。

可以仅在节点设置动画时启用cacheHint。通过这种方式,昂贵的节点可以完整的视觉质量出现在屏幕上,但仍然可以平滑地动画。

Depth Test

指示在渲染此节点时是否使用深度测试。如果depthTest标志为DepthTest.DISABLE,则对此节点禁用深度测试。如果depthTest标志为DepthTest.ENABLE,则为此节点启用深度测试。如果depthTest标志为DepthTest.INHERIT,则如果为父节点启用深度测试,或者父节点为null,则为此节点启用深度测试。

depthTest标志仅在的depthBuffer标志为Scenetrue时使用(表示 Scene拥有关联的深度缓冲区)

深度测试比较仅在启用depthTest的节点之间进行。禁用depthTest的节点不会读取,测试或写入深度缓冲区,也就是说,与其他节点进行深度测试不会考虑其Z值。

Insets

Region的插图定义从区域边缘(其布局边界或(0,0,宽度,高度))到内容区域边缘的距离。所有子节点都应布置在内容区域内。根据已指定的边界(如果有)以及填充来计算插图。

Mouse Transparent

如果为true,则此节点(连同其所有子节点)对于鼠标事件是完全透明的。为鼠标事件选择目标时,将不考虑mouseTransparent设置为的节点true及其子树。

Pick On Bounds

定义当由MouseEventcontains函数调用触发时,如何为此节点进行选择计算。如果pickOnBounds为true,则通过与该节点的边界相交来计算拾取,否则,通过与该节点的几何形状相交来计算拾取。

其他

本节讲了控件的很多属性和方法,但是常用的其实只有那么一些,不同控件需要关注也就是Specific面板上的内容,关于其他控件的一些特有属性的使用可能会在番外篇讲到。

这里还是以Button控件为例讲一些其他的东西。

如何在Text中输入多行文本

点击Text文本框旁边的小齿轮,会弹出一个面板,有三个选项分布设置文本。

Reset to default指的是讲文本框置为默认,默认为空;

Replace with Internationalized String指的是从properties配置文件中读取值,文本框前面有个百分号(%),并且文本框内填的是键名。

Switch to multi-line mode指的是将文本框设置为多行输入文本框,可以输入多行文本内容。

加载CSS文件路径

在stylesheets旁边有个小齿轮,点击会弹出一个面板,有下面四个选项(选中哪个选项,哪个选项即为灰色):

Reset to default指的是讲文本框置为默认,默认为空;

Switch to document relative path指的是相对路径,这个相对路径是与该FXML文件来相对来说的。

也能够成功运行。

Switch to classpath relative path指的是类路径的相对路径。

Scene Builder不能显示但是能够运行程序能够成功

Switch to absolute path指的是切换成绝对路径,就是文件的绝对路径,前面还有前缀"file:/"。

Scene Builder能够显示也能够运行成功。

可搜索微信公众号【Java实例程序】或者扫描下方二维码关注公众号获取更多。

JavaFX之Scene Builder详细使用说明之设置篇(2)——属性Properties相关推荐

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

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

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

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

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

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

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

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

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

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

  6. 安装JavaFX Scene Builder 到Eclipse

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

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

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

  8. Javafx可视化、拖拽式界面设计之Scene Builder的安装和使用

    系列文章专栏:javafx图形绘制.桌面录屏录音源码合集 目录 一.安装Scene Builder 二.Scene Builder功能介绍 三.Scene Builder的使用 相信使用java开发桌 ...

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

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

  10. IDEA中使用scene builder

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

最新文章

  1. LeetCode Largest Divisible Subset(动态规划)
  2. 高年薪的Web前端工程师经常思考哪些问题?
  3. Yii的Querybuild ActiveRecord
  4. 第五篇:Spring Boot整合filter
  5. Gazebo仿真平台
  6. ASP.NET 2.0中母版页中引用文件路径的问题(收集)
  7. lua是编译成c语言再执行嘛,go_lua_c: 使用go编译lua脚本为字节码,通过网络传给c,通过c执行lua脚本。...
  8. 背包九讲问题——超详细
  9. schema约束和引入
  10. cmos和ttl_TTL和CMOS的比较
  11. Linux磁盘管理及Lvm
  12. Grafana 简单设置
  13. 录像机人机界面蓝屏怎么处理
  14. 记一次App异常kill分析处理
  15. cmos电路多余输入端能否悬空_【技术分享】CMOS集成电路中多余输入端为何不能悬空?...
  16. PPT文件不能编辑怎么办?
  17. Python 3,一行代码处理各种时间转换,从此跟datetime,time模块说拜拜 ~ ~ 不收藏算我输!!!
  18. 万能手机usb内窥镜软件下载_万能证件生成器手机版-万能证件生成器手机版下载 v1.0 免费版...
  19. Linux批量添加或修改文件后缀名称
  20. 费曼 计算机科学 讲义,《费曼物理讲义》3 物理学与其他科学的关系

热门文章

  1. 各种平均值:算术平均值,几何平均值,调和平均值等
  2. zrst指令是什么意思_三菱PLC梯形图所有指令符号是什么意思?
  3. 解决登录雅虎邮箱提示您在所用浏览器上启用Javascript 功能
  4. RuntimeError: The size of tensor a (4) must match the size of tensor b (3)
  5. composition API重构mixin实践
  6. Science | 郑文山等发布微生物组单细胞测序新技术Microbe-seq(王军/戴磊/晁彦杰点评)...
  7. db2 导出 oracle,db2导出数据库数据库
  8. 基于OpenCV3.0的车牌识别系统设计(二)--车牌提取
  9. 用计算机求和公式,全国计算机一级等考excel之sum求和函数
  10. miktex配置cjk中文