使用Label(标签)

建立标签

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

  • 空标签字体

  • 文字标签spa

  • 带图片的文字标签设计


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

效果:code



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

能够经过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[事件名]的形式。下面看一个处理鼠标移入/移出范围事件的例子,get

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

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

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

效果:



说明

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

相关文章
相关标签/搜索