当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaFX 类 Pos用法及代码示例


Pos类是JavaFX的一部分。 Pos类包含说明水平和垂直位置或对齐方式的值。 Pos类继承Enum类。

常用方法:

方法 说明
getHpos() 返回水平对齐方式。
getVpos() 返回垂直对齐方式。
valueOf(String n) 返回名称为指定字符串的Pos对象。
values() 返回一个包含所有Pos值的数组。

以下程序说明了Pos类的用法:


  1. Java程序创建磁贴并添加指定的Pos值作为其对齐方式:在此程序中,我们将创建一个名为tile_pane的TilePane。将名为label的Label和一些按钮添加到tile_pane。使用setAlignment()函数设置tile_pane的对齐方式。将tile_pane的对齐方式设置为Pos值TOP_LEFT。将tile_pane添加到场景,并将场景添加到舞台,并调用show()函数以显示最终结果。
    // Java Program to create a tilepane and add 
    // a specified Pos value as its alignment 
    import javafx.application.Application; 
    import javafx.scene.Scene; 
    import javafx.scene.control.*; 
    import javafx.scene.layout.*; 
    import javafx.stage.Stage; 
    import javafx.geometry.*; 
    import javafx.scene.paint.*; 
    import javafx.scene.canvas.*; 
    import javafx.scene.text.*; 
    import javafx.scene.Group; 
    import javafx.scene.shape.*; 
      
    public class Pos_1 extends Application { 
      
        // launch the application 
        public void start(Stage stage) 
        { 
      
            try { 
      
                // set title for the stage 
                stage.setTitle("Pos"); 
      
                // create a label 
                Label label = new Label("this is Pos example"); 
      
                // create a Tile pane 
                TilePane tile_pane = new TilePane(label); 
      
                // create and add buttons to tilepane 
                for (int i = 1; i <= 7; i++) { 
                    tile_pane.getChildren().add(new Button("Button " + i)); 
                } 
      
                // set Alignment of pane 
                tile_pane.setAlignment(Pos.TOP_LEFT); 
      
                // create a scene 
                Scene scene = new Scene(tile_pane, 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); 
        } 
    }

    输出:

  2. Java程序,用于创建TilePane和包含Pos的不同值的组合框:在此程序中,我们将创建一个名为tile_pane的TilePane。将名为label的Label和一些按钮添加到tile_pane。使用setAlignment()函数设置tile_pane的对齐方式。我们将tile_pane的对齐方式设置为Pos值BASELINE_CENTER。将所有Pos值的名称存储在String数组中。现在创建一个组合框,其中将包含Pos值的名称,还创建一个Action事件来处理组合框事件。事件处理程序会将图块的对齐方式设置为所选的pos值。现在创建一个VBox并将磁贴和组合框添加到vbox。最后,将vbox添加到场景中,然后将场景添加到舞台中,并调用show()函数以显示最终结果。
    // Java Program to create a TilePane and  
    // a combobox that contains different  
    // values of Pos 
    import javafx.application.Application; 
    import javafx.scene.Scene; 
    import javafx.scene.control.*; 
    import javafx.scene.layout.*; 
    import javafx.stage.Stage; 
    import javafx.geometry.*; 
    import javafx.scene.paint.*; 
    import javafx.scene.canvas.*; 
    import javafx.scene.text.*; 
    import javafx.scene.Group; 
    import javafx.scene.shape.*; 
    import javafx.event.ActionEvent; 
    import javafx.event.EventHandler; 
    import javafx.collections.*; 
       
    public class Pos_2 extends Application { 
       
    // launch the application 
    public void start(Stage stage) 
    { 
      
        try { 
      
            // set title for the stage 
            stage.setTitle("Pos Class"); 
      
            // create a label 
            Label label = new Label("This is Pos Class Example"); 
      
            // create a Tile pane 
            TilePane tile_pane = new TilePane(label); 
      
            // create and add buttons to tilepane 
            for (int i = 1; i <= 7; i++) { 
      
                tile_pane.getChildren().add(new Button("Button " + i)); 
            } 
      
            // set Alignment of pane 
            tile_pane.setAlignment(Pos.BASELINE_CENTER); 
      
            // pos names 
            String pos_name[] = {"BASELINE_CENTER", "BASELINE_LEFT", 
                                 "BASELINE_RIGHT", "BOTTOM_CENTER",  
                                 "BOTTOM_LEFT", "BOTTOM_RIGHT",  
                                 "CENTER", "CENTER_LEFT", "CENTER_RIGHT", 
                                 "TOP_CENTER", "TOP_LEFT", "TOP_RIGHT"}; 
      
            // Create a combo box 
            ComboBox combo_box =  
              new ComboBox(FXCollections.observableArrayList(pos_name)); 
      
            // Create action event 
            EventHandler<ActionEvent> event = 
            new EventHandler<ActionEvent>() { 
      
                public void handle(ActionEvent e) 
                { 
      
                    // set Alignement of the TilePane 
                    tile_pane.setAlignment(Pos.valueOf( 
                         (String)combo_box.getValue())); 
                } 
            }; 
      
            // Set on action 
            combo_box.setOnAction(event); 
      
            // create a VBox 
            VBox vbox = new VBox(30, combo_box, tile_pane); 
      
            // set Alignemnet 
            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/geometry/Pos.html



相关用法


注:本文由纯净天空筛选整理自andrew1234大神的英文原创作品 JavaFX | Pos Class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。