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类就是这样。