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類就是這樣。