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

(翻译)第八回 JavaFX2.0 标签Label

阅读更多

原文地址http://download.oracle.com/javafx/2.0/ui_controls/label.htm

 

 Label 类位于 JavaFX API的 javafx.scene.control 包中,它继承了 Labeled 类。Label 类用来显示一个文本元素。你可以让一个文本换行来适应特定大小的空间,也可以加入图像。

Figure 2-1 展示了三个标签的常规用法。左边是带有图像的文本元素,中间的是转动后的文本,右边的是换行文本。

 

Figure 2-1 Sample Application with Labels

A JavaFX application with three labels
Description of "Figure 2-1 Sample Application with Labels"

 

创建Label

JavaFX API提供了三个Label 类的构造方法来创建标签,见代码Example 2-1 .

Example 2-1 Creating Labels

//空标签
Label label1 = new Label();
//有文本的标签
Label label2 = new Label("Search");
//有文本有图像
Image image = new Image(getClass().getResourceAsStream("labels.jpg"));
Label label3 = new Label("Search", new ImageView(image));

创建标签后就可以用下面Labeled 类的方法向其中添加文本和图像内容。

  •  setText(String text) – 为标签指定一个标题。
  • setGraphic(Node graphic) – 指定图标

setTextFill方法为标签的文本元素指定了颜色。研究下 Example 2-2:先创建了一个文本标签,又添加了一个图标,再指定文本的填充颜色。

 

Example 2-2 Adding an Icon and Text Fill to a Label

Label label1 = new Label("Search");
Image image = new Image(getClass().getResourceAsStream("labels.jpg"));
label1.setGraphic(new ImageView(image));
label1.setTextFill(Color.web("#0076a3"));

 

这块代码加入到程序中后,就产生了一个标签,见Figure 2-2 .

Figure 2-2 Label with Icon

Description of Figure 2-2 follows
Description of "Figure 2-2 Label with Icon"

当为按钮定义文本和图像内容时,可以用setGraphicTextGap 方法在之间产生空白。

另外,可以在标签的布局设置区域使用setTextAlignment 方法来改变标签的位置。你也可以通过 setContentDisplay 方法为图像定义针对文本的相对位置,指定下面任意一个ContentDisplay常量: LFFT , RIGHT , CENTER , TOP , BOTTOM .

设置字体

比较一下 Figure 2-1 和 Figure 2-2 中的搜索标签,注意Figure 2-1 中的标签是大字体。这是因为Example 2-2 中的代码块没有为标签指定任何字体,它被默认文字大小渲染的。

使用Labeled 类的 setFont 方法为标签提供不同于默认值的文字大小。Example 2-3 在的代码块将label1 的文字大小设置为30号并且字体名称是Arial。为label2 设置的是32号和Cambria字体。

Example 2-3 Applying Font Settings

//Use a constructor of the Font class
label1.setFont(new Font("Arial", 30));
//Use the font method of the Font class
label2.setFont(Font.font("Cambria", 32));

换行文本

创建标签后,有时候必须让文本适应这个比它小的标签。 这时必须要打断文本 (换行) 来使它适应布局区域,为 setWrapText 方法设置true值即可。见 Example 2-4。

Example 2-4 Enable Text Wrapping

Label label3 = new Label("A label that needs to be wrapped");
label3.setWrapText(true);

把label3加入程序后,效果如Figure 2-3 .

Figure 2-3 Label with Wrapped Text

A label with wrapped text
Description of "Figure 2-3 Label with Wrapped Text"

但是如果标签的布局区域不仅仅是被限制了宽,还限制了高呢?当标签不可能渲染全部文本串时你可以为它指定行为。使用Labeled 类的setTextOverrun 方法和任一OverrunStyle 类型定义如何合适的处理只能部分显示的文本。查询API 文档来了解更多关于OverrunStyle 类型的信息。

使用特效

尽管标签是静态内容不能修改,不过依然可以应用特效或者变换它。 Example 2-5 中的代码块将label2 转动了270 °并且垂直方向平移了50。

 

Example 2-5 Rotating a Label

Label label2 = new Label ("Values");
label2.setFont(new Font("Cambria", 32));
label2.setRotate(270);
label2.setTranslateY(50);

 

旋转和平移是 JavaFX API中的典型变换。此外,你可以为标签设置当用户让鼠标悬停时具有变焦效果 (放大)。Example 2-6 中的代码块为label3应用了变焦效果。 当标签的MOUSE_ENTERED 事件被激发时,setScaleX 和setScaleY 方法设置其缩放比例是1.5。当用户的鼠标离开标签时MOUSE_EXITED 时间发生,缩放比例设为1.0标签就变成原始大小了。

Example 2-6 Applying the Zoom Effect

label3.setOnMouseEntered(new EventHandler<MouseEvent>() {
    @Override public void handle(MouseEvent e) {
        label3.setScaleX(1.5);
        label3.setScaleY(1.5);
    }
});

label3.setOnMouseExited(new EventHandler<MouseEvent>() {
    @Override public void handle(MouseEvent e) {
        label3.setScaleX(1);
        label3.setScaleY(1);
    }
});

Figure 2-4   展示了label3的两个状态。

Figure 2-4 Zooming a Label

Two states of a label with wrapped text
Description of "Figure 2-4 Zooming a Label"

0
2
分享到:
评论

相关推荐

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

    javaFX高级教程JavaFX2.0的FXML语言 中文文档,想免费上传,CSDN不同意,选了一个最小资源分2

    javafx2.0官方例子

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

    JavaFX 2.0 Introduction by Example.zip

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

    Javafx 2.0: Introduction by Example

    Javafx 2.0: Introduction by Example

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

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

    JavaFX2.0基础教程.pdf

    JavaFX2.0基础教程.pdf

    JavaFX2.0IntroductionbyExamplePDFBooks.pdf 英文原版

    JavaFX 2.0 Introduction by Example – PDF Books

    javafx 2.0 布局入门

    javafx2.0最新最快的资料! javafx2.0最新最快的资料! javafx2.0最新最快的资料! javafx2.0最新最快的资料!

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

    JavaFX2.0内建控件教程 本篇教程内容覆盖JavaFX内建的有效图形界面控件(UI控件),包括如下章节内容: • JavaFX UI Controls • Label • Button • Radio Button • Toggle Button • Checkbox • Choice Box • ...

    JavaFx2.0入门指南

    该文档的内容来自Oracle的官网,多了中英文对照。 如果你希望以JavaFx快速开发出具有丰富的用户体验的应用,那么该手册正是为你而在。

    JavaFX 2.0 全套教程

    JavaFX 2.0 全套教程, 非常齐全的pdf文档,学习JavaFX 2.0必备!

    javafx2.0 中文文档.zip

    javafx2.0 中文文档.zip

    JavaFx2.0官方教程中文翻译

    JavaFx2.0官方教程中文翻译文档,共36章节,并有一个国际象棋实际开发程序。

    JavaFX2.0 桌面应用例子YahooWeather

    JavaFx的初次尝试,大家可以访问的新博客 http://zhenghaoju700.blog.163.com/blog/static/1358595182011915103814548/ 解压后双击 YahooWeather.jar文件,必须安装JavaFx 运行时环境

    javafx 2.0 SDK

    javafx 2.0最新 SDK 安装时请注意必须安装在默认的路径下,否则netbean工具服务自动读取到

    最新的javafx2.0实例

    之前的实例有点问题,已经完善了,并增加了新的功能,此...绑定和双向绑定进行运用,实例中有画图功能,定时随机线形图,图片浏览,文本标签,切面图,tableView,更换页面样式等功能,暂时更新这些,以后再加入其它的

Global site tag (gtag.js) - Google Analytics