FontWeight類是JavaFX的一部分。 FontWeight類定義字體的粗細。 FontWeight類指定在係統上搜索字體時可以使用的不同字體權重。 FontWeight類繼承Enum類。
常用方法:
方法 | 說明 |
---|---|
findByName(String n) | 按其名稱返回FontWeight。 |
findByWeight(int w) | 返回最接近的FontWeight作為權重值。 |
getWeight() | 返回視覺重量。 |
valueOf(String n) | 返回具有指定名稱的此類型的枚舉常量。 |
values() | 返回FontWeight類型的所有值。 |
以下示例程序旨在說明FontWeight類的用法:
- Java程序創建一個TextFlow並向其中添加文本對象,設置文本Alignment,還設置文本字體的字體粗細並設置文本流的行間距:在此程序中,我們將創建一個名為tile_pane的TilePane。將名為label的Label和一些按鈕添加到tile_pane。使用setAlignment()函數設置tile_pane的對齊方式。將字體的字體粗細設置為EXTRA_BOLD。將tile_pane添加到場景並將場景添加到舞台,並調用show()函數以顯示最終結果。
// Java program to create a TextFlow and // add text object to it, set text Alignment // and also set font weight of the font of text // and set line spacing of the text flow. import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.stage.Stage; import javafx.scene.layout.*; import javafx.scene.paint.*; import javafx.scene.text.*; import javafx.geometry.*; import javafx.scene.layout.*; import javafx.scene.shape.*; public class FontWeight_1 extends Application { // launch the application public void start(Stage stage) { try { // set title for the stage stage.setTitle("FontWeight"); // create TextFlow TextFlow text_flow = new TextFlow(); // create text Text text_1 = new Text("GeeksforGeeks\n"); // set the text color text_1.setFill(Color.GREEN); // set font of the text text_1.setFont(Font.font("Verdana", FontWeight.EXTRA_BOLD, 25)); // set text text_flow.getChildren().add(text_1); // set text Alignment text_flow.setTextAlignment(TextAlignment.CENTER); // set line spacing text_flow.setLineSpacing(20.0f); // create VBox VBox vbox = new VBox(text_flow); // set alignment of vbox vbox.setAlignment(Pos.CENTER); // create a scene Scene scene = new Scene(vbox, 400, 300); // set the scene stage.setScene(scene); stage.show(); } catch (Exception e) { System.out.println(e.getMessage()); } } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
輸出:
- Java程序創建一個TextFlow並向其中添加文本對象,設置文本Alignment並設置文本字體的字體粗細,並設置一個組合框以更改字體粗細並設置文本流的行間距:在此程序中,我們將創建一個名為tile_pane的TilePane。將名為label的Label和一些按鈕添加到tile_pane。使用setAlignment()函數設置tile_pane的對齊方式。現在將字體的FontWeight設置為EXTRA_BOLD。將所有FontWeight值的名稱存儲在String數組中。現在創建一個組合框,它將包含FontWeight值的名稱,還創建一個Action事件來處理組合框事件。事件處理程序會將字體的字體粗細設置為所選的FontWeight值。現在創建一個VBox並將磁貼和組合框添加到vbox。最後,將vbox添加到場景中,並將場景添加到舞台中,並調用show()函數以顯示最終結果。
// Java program to create a TextFlow and // add text object to it, set text Alignment // and also set font weight of the font of text // and also set a combo box to change font weight // and set line spacing of the text flow. import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.stage.Stage; import javafx.scene.layout.*; import javafx.scene.paint.*; import javafx.scene.text.*; import javafx.geometry.*; import javafx.scene.layout.*; import javafx.scene.shape.*; import javafx.collections.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; public class FontWeight_2 extends Application { // launch the application public void start(Stage stage) { try { // set title for the stage stage.setTitle("FontWeight"); // create TextFlow TextFlow text_flow = new TextFlow(); // create text Text text_1 = new Text("GeeksforGeeks\n"); // set the text color text_1.setFill(Color.GREEN); // set font of the text text_1.setFont(Font.font(Font.getFontNames().get(0), FontWeight.EXTRA_BOLD, 50)); // font weight names String weight[] = {"BLACK", "BOLD", "EXTRA_BOLD", "EXTRA_LIGHT", "LIGHT", "MEDIUM", "NORMAL", "SEMI_BOLD", "THIN" }; // Create a combo box ComboBox combo_box = new ComboBox(FXCollections.observableArrayList(weight)); // Create action event EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() { public void handle(ActionEvent e) { // set font of the text text_1.setFont(Font.font(Font.getFontNames().get(0), FontWeight.valueOf((String)combo_box.getValue()), 50)); } }; // Set on action combo_box.setOnAction(event); // set text text_flow.getChildren().add(text_1); // set text Alignment text_flow.setTextAlignment(TextAlignment.CENTER); // set line spacing text_flow.setLineSpacing(20.0f); // create VBox VBox vbox = new VBox(combo_box, text_flow); // set alignment of vbox vbox.setAlignment(Pos.CENTER); // create a scene Scene scene = new Scene(vbox, 400, 300); // set the scene stage.setScene(scene); stage.show(); } catch (Exception e) { System.out.println(e.getMessage()); } } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
輸出:
注意:以上程序可能無法在在線IDE中運行,請使用離線編譯器。
參考:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/text/FontWeight.html
相關用法
- JavaFX 類 Pos用法及代碼示例
- JavaFX 類 Tab用法及代碼示例
- JavaFX 類 Slider用法及代碼示例
- JavaFX 類 Hyperlink用法及代碼示例
- JavaFX 類 LinearGradient用法及代碼示例
- JavaFX 類 Background用法及代碼示例
- JavaFX 類 WebView用法及代碼示例
- JavaFX 類 ToolBar用法及代碼示例
- JavaFX 類 VLineTo用法及代碼示例
- JavaFX 類 HLineTo用法及代碼示例
- JavaFX 類 TabPane用法及代碼示例
- JavaFX 類 Stop用法及代碼示例
- JavaFX 類 CycleMethod用法及代碼示例
- JavaFX 類 TextFlow用法及代碼示例
注:本文由純淨天空篩選整理自andrew1234大神的英文原創作品 JavaFX | FontWeight Class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。