`
somefuture
  • 浏览: 1086700 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

(翻译)第十三回 JavaFX2.0 选项框ChoiceBox

阅读更多

 

原文地址http://download.oracle.com/javafx/2.0/ui_controls/choice-box.htm#BCEDJAEH

 

ChoiceBox类为在几个选项中快速选择提供了支持。看看 Figure 7-1 中的选项框的这个简单实现怎么样。

Figure 7-1 Creating a Choice Box with Three Items

Description of Figure 7-1 follows
Description of "Figure 7-1 Creating a Choice Box with Three Items"

创建 Choice Box

Example 7-1 创建了带有三个条目的选项框。

Example 7-1 Creating a Choice Box

ChoiceBox cb = new ChoiceBox(FXCollections.observableArrayList(
    "First", "Second", "Third")
);

Example 7-1 是创建在ChoiceBox类的构造函数中条目列表。这个条目列表是用一个可见的数组指定的。当然你可以选择使用该类的空构造方法,然后使用setItems方法设置条目列表。见Example 7-2.

Example 7-2 Choice Box with Text Elements and a Separator

ChoiceBox cb = new ChoiceBox();
cb.setItems(FXCollections.observableArrayList(
    "New Document", "Open ", 
    new Separator(), "Save", "Save as")
);

不过选项框不单单能包含文本元素,还可以是其他对象。  Example 7-2中用一个Separator控件分开了条目。当应用中加入这些代码后,效果见 Figure 7-2.

Figure 7-2 Menu Created by Using a Choice Box

Description of Figure 7-2 follows
Description of "Figure 7-2 Menu Created by Using a Choice Box"

实际项目中,选项框用来创建多选列表。

为Choice Box设置行为

 Figure 7-3 中的应用提供了一个带有5个选项的多选框。当一种特定的语言被选中后,相应的问候语就显示出来。

Figure 7-3 Multiple-Choice List

Description of Figure 7-3 follows
Description of "Figure 7-3 Multiple-Choice List"

Figure 7-4 中的代码块解释了选项框中的条目被选中后是怎么定义哪中语言的问候语应该显示的。

Figure 7-4 Selecting a Choice Box Item

A code fragment
Description of "Figure 7-4 Selecting a Choice Box Item"

通过连续不断的调用getSelectionModelselectedIndexProperty方法,ChangeListener<Number> 对象侦测当前被选中条目的索引。getSelectionModel方法返回被选中的条目,selectedIndexProperty方法返回选项框的SELECTED_INDEX属性。这样,索引的整型值定义了问候数组中的元素,并为标签指定一个 String文本。如果一个用户选择了第二个条目,它对应的西班牙语,SELECTED_INDEX就是1,"Hola"就被从问候语数字中选了出来。这样,标签就显示"Hola."

可以通过为ChoiceBox控件分派提示条使它更有引导性。提示条是javafx.scene.control包中的一个UI控件。提示条能被用于任何JavaFX UI控件。

使用Tooltip

Tooltip类为在选项框(还有其他所有控件)添加提示条提供了预制方法,可以通过调用setTooltip方法很容易的使用。见Example 7-3.

Example 7-3 Adding a Tooltip to a Choice Box

cb.setTooltip(new Tooltip("Select the language"));

一般用户是在Tooltip类的构造方法内定义提示内容。不过,如果你的应用逻辑要求UI动态地设置文本,你可以使用空构造方法使用它,然后使setText方法为它设置文本。

选项框使用了提示条后,用户把鼠标放在选项框上就看到一个图像条。见 Figure 7-5.

Figure 7-5 Choice Box with the Applied Tooltip

A choice box with the tooltip
Description of "Figure 7-5 Choice Box with the Applied Tooltip"

要改善应用的外观,可以给选项框使用CSS,或者使用视觉效果和变换。

 

0
0
分享到:
评论

相关推荐

    javaFX高级教程JavaFX2.0的FXML语言 中文文档

    ### JavaFX 2.0 的 FXML 语言高级教程 #### 概述 JavaFX 2.0 引入了一种新的声明性标记语言——FXML(发音为 “fizz-le”),这是一种基于 XML 的语言,专门用于定义应用程序的用户界面。通过使用 FXML,开发者...

    JavaFX高级教程:JavaFX2.0的FXML语言(中文版)

    JavaFX 2.0 是一个强大的富互联网应用程序(RIA)平台,用于构建具有美观图形界面的应用程序。在JavaFX 2.0中,FXML(FXML Language)被引入,这是一种基于XML的声明性语言,专门用于定义应用程序的用户界面。这个...

    javafx2.0 中文文档.zip

    这个“javafx2.0 中文文档.zip”压缩包包含了关于JavaFX 2.0的中文文档,对于理解和学习这个技术至关重要。 首先,JavaFX 2.0的核心是它的 scenegraph 模型,这是一种基于节点的对象模型,用于构建复杂的用户界面。...

    javafx2.0官方例子

    javafx2.0,java,javafx,例子,代码 Sun公司(已于20092008年12月05日发布了JavaFX技术的正式版,它使您能利用 JavaFX 编程语 言开发富互联网应用程序(RIA)。JavaFX Script编程语言(以下称为JavaFX)是Sun微...

    JavaFX 2.0 電子書 - Pro JavaFX 2

    最新JavaFx 2.0 電子書 In Pro JavaFX 2: A Definitive Guide to Rich Clients with Java Technology, Jim Weaver, Weiqi Gao, Stephen Chin, Dean Iverson, and Johan Vos show you how you can use the JavaFX ...

    JavaFx2.0入门指南

    JavaFX 2.0 入门指南是针对那些希望通过JavaFX快速开发富用户体验应用程序的开发者设计的。这个指南,源自Oracle官方,包含了中英文对照,旨在帮助初学者快速上手。在本文档中,你将学习如何利用JavaFX创建一个名为...

    JavaFX 2.0 Introduction by Example.zip

    JavaFX 2.0 Introduction by Example.zip是javafx2.0的最新书籍《[JavaFX.2.0:Introduction.by.Example].Carl.Dea》上的源码!大家可以下载本书和源码一起看!我都上传了!

    javafx2.0在netbeans插件

    JavaFX 2.0 引入了许多改进,如新的 API、性能提升、新的 Scene Graph 模型和增强的部署选项。 2. **Scene Graph**:JavaFX 2.0 的核心是 Scene Graph,这是一个树形数据结构,用于表示用户界面的各个组件。开发者...

    JavaFX2.0基础教程.pdf

    ### JavaFX2.0基础教程知识点总结 #### 1. JavaFX概览 - **JavaFX认知**:JavaFX是一个由Java技术构建的平台,它旨在简化富互联网应用程序(RIA)的创建与部署过程,这些应用程序能够跨多个平台运行并且具有统一的...

    JavaFX2.0 体系结构和框架

    【JavaFX2.0 体系结构和框架】深入解析 JavaFX2.0 是一个基于Java技术的丰富客户端平台,专为开发富互联网应用程序(RIAs)设计,它以其出色的动态画面和美观的用户界面而受到赞誉。尽管中文资料相对较少,但通过对...

    Javafx 2.0: Introduction by Example

    Javafx 2.0: Introduction by Example

    JavaFX2.0基础教程(整合版)

    JavaFX2.0平台是java客户端设计演进,使应用开发者易于创建和部署跨平台且表现一致的Rich Internet Application(RIAs)。JavafX是由Java技术构建,基于高性能硬件加速的媒体和图形引擎,JavaFX平台提供了一套丰富的...

    javafx_2.0_introduction_by_example

    根据给定文件的信息,我们可以提炼出关于JavaFX 2.0的重要知识点,这些知识点涵盖了JavaFX的基本概念、架构策略、发展历程以及其在图形用户界面(GUI)开发中的应用。 ### JavaFX 2.0:下一代GUI工具包 JavaFX 2.0...

    JavaFX2.0内建控件教程(全部控件)

    ### JavaFX 2.0 内建控件教程 #### 1. UI控件概览 JavaFX 2.0 提供了一系列丰富的内置用户界面(UI)控件,这些控件可以帮助开发者快速构建美观且功能强大的应用程序。JavaFX UI 控件位于 `javafx.scene.control` ...

    JavaFX2.0IntroductionbyExamplePDFBooks.pdf 英文原版

    JavaFX 2.0 Introduction by Example – PDF Books

Global site tag (gtag.js) - Google Analytics