📜  JavaFX |标签类

📅  最后修改于: 2022-05-13 01:55:23.648000             🧑  作者: Mango

JavaFX |标签类

Tab 类是 JavaFX 的一部分。 Tab 类创建一个包含在 TabPane 中的对象。 Tab 可以包含任何节点作为其内容。一个 TabPane 可以包含多个选项卡。当用户单击选项卡时,选项卡的内容对用户可见。

类的构造函数:

  1. Tab() :创建一个新的空选项卡。
  2. Tab(String t) :创建具有指定标题的新选项卡。
  3. Tab(String t, Node c) :创建具有指定标题和内容的新选项卡。

常用方法:

MethodExplanation
getContent()Returns the content node of the Tab.
getContextMenu()Returns the context menu associated with the tab.
getGraphic()Returns the graphic of the tab.
getId()Return the ID of the tab.
getStyle()The CSS style string associated to this tab.
getTabPane()Returns the tab pane of the tab.
getText()Returns the text shown in the tab.
getTooltip()Returns the tooltip associated with the tab.
setId(String v)Sets the ID of the tab.
setContent(Node v)Sets the content for the tab.
setContextMenu(ContextMenu v)Sets the context menu for the tab.
setGraphic(Node v)Set the graphic for the node.
setStyle(String v)Sets the string representation of the CSS style associated with this tab.
setText(String v)Sets the text for the tab
setTooltip(Tooltip v)Sets the tooltip for the tab (a popup appears when the user hovers over the tab).
setDisable(boolean v)States the disabled state of this tab.

下面的程序说明了 Tab 类的使用:

  1. 用于创建选项卡并将其添加到 TabPane 的Java程序:在此程序中,我们将创建一个名为tab_1的选项卡。我们还将创建一个名为label的标签。我们将使用函数setContent()将标签添加到选项卡。选项卡的标题将作为参数传递。我们将创建一个名为 tabpane 的 TabPane 并将选项卡添加到 tabpane。现在,我们将 tabpane 添加到场景中并将场景添加到舞台并使用show()函数显示舞台。
    // Java program to create a tab 
    // and add it to the TabPane
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.scene.Group;
    import javafx.scene.control.*;
      
    public class Tab_1 extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
      
            // set title for the stage
            stage.setTitle("creating Tab");
      
            // create Tab
            Tab tab_1 = new Tab("Tab_1");
      
            // create a label
            Label label = new Label(" This is a tab ");
      
            // add label to the tab
            tab_1.setContent(label);
      
            // add tab
            // create a tabpane
            TabPane tabpane = new TabPane(tab_1);
      
            // create a scene
            Scene scene = new Scene(tabpane, 600, 500);
      
            // set the scene
            stage.setScene(scene);
      
            stage.show();
        }
      
        // Main Method
        public static void main(String args[])
        {
      
            // launch the application
            launch(args);
        }
    }
    

    输出:

  2. Java程序创建一个选项卡,添加图形(在选项卡中)并将其添加到 TabPane:在这个程序中,我们将创建一个名为tab_1的选项卡。我们还将创建一个名为 label 的标签。我们将使用函数setContent()将标签添加到选项卡。选项卡的标题将作为参数传递。我们将创建一个名为input的 FileInputStream 来导入图像。将从文件输入流中创建一个名为image的 Image,然后我们将从导入的图像创建一个名为imageview的 ImageView。我们将使用setGraphic()函数将此图像视图添加到选项卡。我们将创建一个名为tabpane的 TabPane 并将选项卡添加到tabpane 。现在,我们将 tabpane 添加到场景中并将场景添加到舞台并使用show()函数显示舞台。
    // Java program to create a tab, add
    // graphic(in the tab) to it and add
    // it to the TabPane
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.scene.Group;
    import javafx.scene.control.*;
    import java.io.*;
    import javafx.scene.image.*;
      
    public class Tab_2 extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
      
            try {
      
                // set title for the stage
                stage.setTitle("creating Tab");
      
                // create Tab
                Tab tab_1 = new Tab("Tab_1");
      
                // create a label
                Label label = new Label(" This is a tab ");
      
                // add label to the tab
                tab_1.setContent(label);
      
                // create a input stream
                FileInputStream input = new FileInputStream("f:\\gfg.png");
      
                // create a image
                Image image = new Image(input);
      
                // create a image View
                ImageView imageview = new ImageView(image);
      
                // add graphic to the tab
                tab_1.setGraphic(imageview);
      
                // add tab
                // create a tabpane
                TabPane tabpane = new TabPane(tab_1);
      
                // create a scene
                Scene scene = new Scene(tabpane, 600, 500);
      
                // set the scene
                stage.setScene(scene);
      
                stage.show();
            }
            catch (Exception e) {
                System.err.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/control/Tab.html