TabPane类是JavaFX的一部分。TabPane允许在多个选项卡之间切换。TabPane充当选项卡的容器。可以使用setSide()函数指定选项卡的位置。当选项卡不适合TabPane时,TabPane的右上角会出现一个菜单按钮,显示TabPane的所有选项卡。
null
类的构造函数:
- TabPane() :创建没有选项卡的新选项卡窗格。
- TabPane(Tab…t) :创建具有指定选项卡的新选项卡窗格。
常用方法:
方法 | 解释 |
---|---|
getSide() | 返回选项卡在选项卡窗格上的当前位置 |
getTabs() | 返回选项卡窗格的选项卡。 |
设置侧(v侧) | 在此选项卡窗格中放置选项卡的位置。 |
setSelectionModel(SingleSelectionModel v) | 设置用于选项卡选择的模型。 |
getSelectionModel() | 返回选项卡选择的选择模型。 |
getTabMaxHeight() | 返回选项卡窗格中选项卡的最大高度。 |
getTabMinHeight() | 返回TabPane中选项卡的最小高度。 |
getTabMaxWidth() | 返回TabPane中选项卡的最大宽度。 |
getTabMinWidth() | 返回TabPane中选项卡的最小宽度。 |
setTabMaxHeight(双v) | 在TabPane中设置选项卡的最大高度。 |
设置最小高度(双v) | 在TabPane中设置选项卡的最小高度。 |
setTabMaxWidth(双v) | 在TabPane中设置选项卡的最大宽度。 |
setTabMinWidth(双v) | 在TabPane中设置选项卡的最小宽度。 |
下面的程序演示了TabPane类的使用:
- Java程序创建多个选项卡并将其添加到选项卡窗格: 在这个程序中,我们将创建一个名为 选项卡窗格 .要添加多个选项卡,我们将使用for循环,然后将选项卡添加到 选项卡窗格 .创建一个名为 标签 .我们还将创建一个名为 标签 .我们将使用函数将标签添加到选项卡中 setContent() .选项卡的标题将作为参数传递。现在创建一个名为 选项卡窗格 然后将选项卡添加到选项卡窗格。之后再加上 选项卡窗格 添加到场景,并将场景添加到舞台,然后使用 show() 作用
// Java program to create multiple tabs
// 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
TabPane_1
extends
Application {
// launch the application
public
void
start(Stage stage)
{
// set title for the stage
stage.setTitle(
"Creating Tab"
);
// create a tabpane
TabPane tabpane =
new
TabPane();
// create multiple tabs
for
(
int
i =
0
; i <
10
; i++) {
// create Tab
Tab tab =
new
Tab(
"Tab_"
+ (
int
)(i +
1
));
// create a label
Label label =
new
Label(
"This is Tab: "
+ (
int
)(i +
1
));
// add label to the tab
tab.setContent(label);
// add tab
tabpane.getTabs().add(tab);
}
// 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);
}
}
输出:
- Java程序创建多个选项卡,并将其添加到选项卡窗格中,同时创建一个选项卡,选中该选项卡将创建新选项卡: 在这个程序中,我们将创建一个名为 选项卡窗格 .我们将在列表中添加多个选项卡 选项卡窗格 .要添加多个选项卡,我们将使用for循环。我们将创建一个名为 标签 .现在创建一个名为 标签 .我们将使用该功能向选项卡添加标签 setContent() .我们还将创建一个名为 纽塔布 .选中后,将创建一个新选项卡。使用将事件处理程序添加到选项卡 setOnSelectionChanged() 作用事件处理程序将创建一个新选项卡,并将其添加到中的新选项卡之前 选项卡窗格 使用 getTabs()。添加() 函数并使用 getSelectionModel()。选择() 作用选项卡的标题将作为参数传递。我们将创建一个名为 选项卡窗格 并将该选项卡添加到 选项卡窗格 并添加 选项卡窗格 一幕接一幕地登上舞台。使用 show() 作用
// Java program to create multiple tabs and
// add it to the tabPane and also create a
// tab which on selected will create new tabs
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
javafx.event.Event;
import
javafx.event.EventHandler;
public
class
TabPane_2
extends
Application {
// counter of tabs
int
counter =
0
;
// launch the application
public
void
start(Stage stage)
{
// set title for the stage
stage.setTitle(
"Creating Tab"
);
// create a tabpane
TabPane tabpane =
new
TabPane();
for
(
int
i =
0
; i <
5
; i++) {
// create Tab
Tab tab =
new
Tab(
"Tab_"
+ (
int
)(counter +
1
));
// create a label
Label label =
new
Label(
"This is Tab: "
+ (
int
)(counter +
1
));
counter++;
// add label to the tab
tab.setContent(label);
// add tab
tabpane.getTabs().add(tab);
}
// create a tab which
// when pressed creates a new tab
Tab newtab =
new
Tab();
// action event
EventHandler<Event> event =
new
EventHandler<Event>() {
public
void
handle(Event e)
{
if
(newtab.isSelected())
{
// create Tab
Tab tab =
new
Tab(
"Tab_"
+ (
int
)(counter +
1
));
// create a label
Label label =
new
Label(
"This is Tab: "
+ (
int
)(counter +
1
));
counter++;
// add label to the tab
tab.setContent(label);
// add tab
tabpane.getTabs().add(
tabpane.getTabs().size() -
1
, tab);
// select the last tab
tabpane.getSelectionModel().select(
tabpane.getTabs().size() -
2
);
}
}
};
// set event handler to the tab
newtab.setOnSelectionChanged(event);
// add newtab
tabpane.getTabs().add(newtab);
// 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);
}
}
输出:
注: 上述程序可能无法在联机IDE中运行。请使用脱机编译器。
参考: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TabPane.html
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END