第5章用户界面组件.PDF
文本预览下载声明
第5 章 用户界面组件
本章将介绍图形对象中的用户界面组件。目前, JavaFX 提供两种用户界面组件:基于
Java Swing 的组件 (这些组件被包装起来以便无缝地集成到 JavaFX 中);以及内置
JavaFX 组件。最近,内置 JavaFX UI 组件不断增加,我们将在本章中简要介绍这些新组
件。在本书中,我们会在适当的地方提供一些使用这些组件的示例。
可以将 CSS 样式应用于图形对象 (为其添加皮肤),这对于合并具有一致外观的 UI
组件特别有用。还可以构建自己的可换肤的 UI 组件。(可换肤的组件使你能通过外
部 CSS 样式表向组件应用统一的样式。通过使用不同的样式表,可以更改组件的整
个外观。)
本章内容
• JavaFX 用户界面组件
• 基于 Swing 的用户界面组件
• 通过绑定将 UI 控件集成到应用程序中
• 将 CSS 样式应用于图形对象
• 创建可换肤的 UI 组件
5.1 JavaFX UI 控件
JavaFX 包含一个内置 TextBox UI 组件,我们将在下面讨论它。 JavaFX 1.2 发行版还包
括其他 UI 组件,表 5.2 对这些组件进行了简要介绍。
5.1.1 TextBox
TextBox 用于获取用户的文本输入。可以用属性 columns 指定宽度,用属性 action 指定
事件处理程序。布尔变量 editable 指定用户是否可以编辑 TextBox (默认值为true)。
属性 rawText 反映了 TextBox 中的文本(随着用户提供输入而更新),text 保存调用事
119
120 第 5 章 用户界面组件
件处理程序时的输入。此外,属性 adjustingSelection、dot 和 mark 允许查询用户文本
选择。图 5.1 显示了一个例子。
var textInput: TextBox;
. . .
textInput = TextBox {
columns: 20
action: function(): Void {
if (textInput.text != ) {
processInput(textInput.text);
}
}
}
图 5.1 TextBox UI 组件
表 5.1 列出了 TextBox 属性。
表5.1 TextBox 属性
属性 类型 说明(默认值)
action function(): 在此 TextBox 上激发某一操作(通常用
Void Enter )时调用该函数
columns Number 水平大小:大约字符数(默认值为 10)
editable Boolean 如果为 true ,则文本可由用户进行编辑(默
认值为 true )
font Font 文本的默认字体
selectOnFocus Boolean 如果为 true ,则通过键盘或软键导航使此
TextBox 获得焦点会导致其文本内容被选定
(默认值为true )
text String
显示全部