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

相關文章
相關標籤/搜索