javaFX初探(Label)

52 篇文章 0 订阅
47 篇文章 4 订阅

本章介绍如何使用javafx.scene.control包下的Label类,这个类用来表现文本。我们会学到如果让文本边行来适应空间大小,添加一个图片,添加一个视觉效果。

下图展示了3个通常的Label用法,左边为文本应用了一个图片,中间的是一个选装的文本,右边的是一个换行的文本。:

 

创建一个文本

javaFX API为我们提供了3个构造方法,如下:

//An empty label
Label label1 = new Label();
//A label with the text element
Label label2 = new Label("Search");
//A label with the text element and graphical icon
Image image = new Image(getClass().getResourceAsStream("labels.jpg"));
Label label3 = new Label("Search", new ImageView(image));

一旦你创建了一个Label,你就可以给它添加文本和图片内容,如下:

 setText:指定文本内容
 setGraphic:指定一个图片
 setTextFill:指定文本的颜色

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


如下图所示:

如果你即添加了文本,又添加了图片,那么你可以是用setGraphicTextGap方法来设置两者之前的空隙。
另外,还可以通过setTextAlignment来设置Label内容的位置,也可以通过调用setContentDisplay方法来指定图片的先对位置,参数值是常量,这些常量定义在

ContentDisplay中:LFFT, RIGHT, CENTER, TOP, BOTTOM.

设置字体:


可以通过setFont方法,为Label内容来设置字体:

//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));


换行:

有时候Label的内容要适应空间的大小,这时候可能就要使用换行。

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


使用效果

Label的内容是静态的,不能修改的,但是我们可以增加一些视觉效果或者变形。

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


下面的代码表现了一个缩放的效果。

label3.setOnMouseEntered((MouseEvent e) -> {
    label3.setScaleX(1.5);
    label3.setScaleY(1.5);
});

label3.setOnMouseExited((MouseEvent e) -> {
    label3.setScaleX(1);
    label3.setScaleY(1);
});


运行如下所示:

 


 

  • 9
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值