使用Label(标签)

创建标签

Label有三种基本形式,分别为

  • 空标签

  • 文字标签

  • 带图片的文字标签


空标签
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));

效果:

211357_xLJV_2297636.png



改变图标与文字的相对位置

可以通过setContentDisplay()方法来改变图标与文字的相对位置,如想要文字在左边,图片在右边,则可以:

label3.setContentDisplay(ContentDisplay.RIGHT);



改变标签组成成分

对于一个标签来说,主要有两个组成成分,分别为文字与图标。当已经创建一个标签之后,可以通过两个方法对标签进行成分上的修改:

  • The setText(String text) – 指定文字

  • setGraphic(Node graphic)– 指定图标

Label label4 = new Label("Search");
Image image = new Image(getClass().getResourceAsStream("labels.jpg"));
label4.setGraphic(new ImageView(image));
label4.setText("new text");



设置字体

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



处理事件

在JavaFx中,所有界面元素都是Node的子类,而Node类被设计为可以接受各种事件,如鼠标,键盘事件,界面元素的旋转事件等等,在Node类里面对这些事件的处理方法都有定义,方法名统一为setOn[事件名]的形式。下面看一个处理鼠标移入/移出范围事件的例子,

当移入时扩大1.5倍,移出时恢复原样:

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

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

效果:

211703_OgZf_2297636.png



说明

值得说明的是,可以为Label对象调用的大部分方法都来源于Label的父类Labeled类,Label类只是个外壳。由于把具有label特性的那部分功能抽离了出去,使得其他拥有相同特性的控件也可以通过继承Labeled类来共用这部分功能,如下文将要说到的Button类就是这样。


转载于:https://my.oschina.net/u/2297636/blog/372910

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值