javafx组件详解

1 组件相关API类图

1.1 EventTarget相关类

«interface»
EventTarget
«abstract»
Node
Window
Dialog
«abstract»
Transform
«abstract»
Task
Tab
«abstract»
Service
«abstract»
ScheduledService
Alert
ChoiceDialog
TextInputDialog
«abstract»
PopupWindow
Stage
ContextMenu
Popup
PopupControl
Tooltip
Affine
Rotate
Scale
Shear
Translate

1.2 Node相关类

«abstract»
Node
«abstract»
Parent
Canvas
«abstract»
LightBase
«abstract»
Shape
Camera
ImageView
MediaView
«abstract»
Shape3D
SubScene
SwingNode
ParallelCamera
PerspectiveCamera
AmbientLight
PointLight
Region
Group
WebView
«abstract»
Control
«abstract»
Axis
«abstract»
Chart
Pane
«abstract»
ValueAxis
CategoryAxis
NumberAxis

1.3 Control相关类

«abstract»
Control
«abstract»
ComboBoxBase
«abstract»
Labeled
ColorPicker
ComboBox
DatePicker
Cell
TitledPane
Label
«abstract»
ButtonBase
Button
CheckBox
ToggleButton
Hyperlink
MenuButton
RadioButton
SplitMenuButton

1.4 Control相关类

Control
Accordion
«abstract»
Labeled
«abstract»
ComboBoxBase
HTMLEditor
ListView
ScrollBar
TreeView
TreeTableView
TableView
MenuBar
Pagination
«abstract»
TextInputControl
Spinner
ScrollPane
Separator
TabPane
ToolBar
ButtonBar
ChoiceBox
ProgressIndicator
ProgressBar
TextField
TextArea
PasswordField

1.5 Pane相关类

Pane
AnchorPane
BorderPane
DialogPane
FlowPane
GridPane
HBox
VBox
TilePane
StackPane
TextFlow
Legend

1.6 Chart相关类

«abstract»
Chart
«abstract»
XYChart
PieChart
AreaChart
BarChart
BubbleChart
LineChart
ScatterChart
StackedAreaChart
StackedBarChart

1.7 Cell相关类

Cell
DateCell
IndexedCell
TableCell
ListCell
TreeTableCell
TreeCell
TreeTableRow
TableRow
DefaultTreeCell
CheckBoxTreeCell
ChoiceBoxTreeCell
ComboBoxTreeCell
TextFieldTreeCell
CheckBoxListCell
ChoiceBoxListCell
ComboBoxListCell
TextFieldListCell
CheckBoxTableCell
ChoiceBoxTableCell
ComboBoxTableCell
ProgressBarTableCell
TextFieldTableCell
CheckBoxTreeTableCell
ChoiceBoxTreeTableCell
ProgressBarTreeTableCell
ComboBoxTreeTableCell
TextFieldTreeTableCell

1.8 Shape相关类

«abstract»
Shape
Arc
Circle
CubicCurve
Ellipse
Text
Line
Path
Polygon
Polyline
QuadCurve
Rectangle
SVGPath
LabeledText

1.9 Shape3D相关类

«abstract»
Shape3D
Box
Cylinder
MeshView
Sphere

2 常用组件详解

2.1 Pane面板相关

2.1.1 Pane - 面板

(1) 说明
        Pane面板为其他面板的父类,可通过组件的定位布局,默认都重叠在左上角。
(4) 常用方法

方法描述
Pane()
Pane(Node… children)
构造方法
getChildren()获取内部组件集合对象

(3) 代码示例

        //定义各个部分组件
        Button button1 = new Button("按钮1");
        button1.setLayoutX(50);//设置组件水平位置
        button1.setLayoutY(100);//设置组件垂直位置
        Button button2 = new Button("按钮2");
        button2.setLayoutX(150);
        button2.setLayoutY(50);
        Pane pane=new Pane(button1,button2);
        Scene scene=new Scene(pane,300,200);

(4) 界面示例
在这里插入图片描述

2.1.2 FlowPane - 流布局面板

(1) 说明
        流式布局面板,沿着一个方向排列组件,到末尾重新换行或者换列排列。与HBox和Vbox不同的是FlowPane会保证将所有组件完整展现出来。
(2) 常用方法

方法描述
FlowPane()
FlowPane(Orientation orientation)
FlowPane(double hgap, double vgap)
FlowPane(Orientation orientation, double hgap, double vgap)
FlowPane(Node… children)
FlowPane(Orientation orientation, Node… children)
FlowPane(double hgap, double vgap, Node… children)
FlowPane(Orientation orientation, double hgap, double vgap,
                 Node… children)
构造方法
orientation:方向,有值如下:
  HORIZONTAL:横向
  VERTICAL:纵向
hgap:组件之间水平间距
vgap:组件之间纵向间距
children:面板内的组件
setMargin(Node child, Insets value)
getMargin(Node child)
静态 方法,设置或获取组件内边距
orientationProperty()
setOrientation(Orientation value)
getOrientation()
getContentBias()
获取或设置组件流动方向
hgapProperty()
setHgap(double value)
getHgap()
获取或设置组件之间水平间距
vgapProperty()
setVgap(double value)
getVgap()
获取或设置组件之间垂直间距
prefWrapLengthProperty()
setPrefWrapLength(double value)
getPrefWrapLength()
内容应在水平流窗格中换行的首选宽度,或内容应在垂直流窗格中换行的首选高度。
alignmentProperty()
setAlignment(Pos value)
getAlignment()
获取或设置组件对其方式。
columnHalignmentProperty()
setColumnHalignment(HPos value)
getColumnHalignment()
垂直流窗格中每列内节点的水平对齐。对于水平流窗格,忽略该属性。
rowValignmentProperty()
setRowValignment(VPos value)
getRowValignment()
在水平流窗格的每行中对节点进行垂直对齐。如果此属性设置为VPos。
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        FlowPane flowPane=new FlowPane(6,6);
        for (int i = 0; i < 20; i++) {
            Button button=new Button((i+1)+"");
            flowPane.getChildren().add(button);
        }
        Scene scene=new Scene(flowPane,200,200);

(4) 界面示例在这里插入图片描述

2.1.3 AnchorPane- 锚点布局面板

(1) 说明
        AnchorPane即锚布局,可以设置子节点位置。
(4) 常用方法

方法描述
AnchorPane()
AnchorPane(Node… children)
构造方法。
children:内部组件
setTopAnchor(Node child, Double value)
getTopAnchor(Node child)
设置组件在面板的上边位置
同时设置下边位置会拉伸组件
setLeftAnchor(Node child, Double value)
getLeftAnchor(Node child)
设置组件在面板的左边位置
同时设置右边位置会拉伸组件
setBottomAnchor(Node child, Double value)
getBottomAnchor(Node child)
设置组件在面板的下边位置
同时设置上边位置会拉伸组件
setRightAnchor(Node child, Double value)
getRightAnchor(Node child)
设置组件在面板的右边位置
同时设置左边位置会拉伸组件
clearConstraints(Node child)清除上下左右描点数据

(3) 代码示例

        AnchorPane anchorPane=new AnchorPane();
        Button button = new Button("按钮");
        anchorPane.getChildren().add(button);//面板添加组件
        anchorPane.setTopAnchor(button, 50.0);//设置组件上部锚点位置
        anchorPane.setLeftAnchor(button, 50.0);//设置组件左部锚点位置
        Scene scene=new Scene(anchorPane,300,200);

(4) 界面示例
在这里插入图片描述

2.1.4 BorderPane - 边框布局面板

(1) 说明
        BorderPane即边框布局,将组件排列在Top,Left,Right,Bottom和Center五个位置。
(4) 常用方法

方法描述
BorderPane()
BorderPane(Node center)
BorderPane(Node center, Node top, Node right,
                    Node bottom, Node left)
构造方法。
setAlignment(Node child, Pos value)
getAlignment(Node child)
设置对其方式
setMargin(Node child, Insets value)
getMargin(Node child)
设置内边距
clearConstraints(Node child)清除对齐方式和内边距
centerProperty()
setCenter(Node value)
getCenter()
设置或获取中部组件
topProperty()
setTop(Node value)
getTop()
设置或获取顶部组件
bottomProperty()
setBottom(Node value)
getBottom()
设置或获取底部组件
leftProperty()
setLeft(Node value)
getLeft()
设置或获取左部组件
rightProperty()
setRight(Node value)
getRight()
设置或获取右部组件
getContentBias()获取方向

(3) 代码示例

        //定义各个部分组件
        Button button1 = new Button("中间");
        Button button2 = new Button("上部");
        Button button3 = new Button("右部");
        Button button4 = new Button("下部");
        Button button5 = new Button("左部");
        BorderPane borderPane=new BorderPane(button1,button2,button3,button4,button5);
        //设置各组件对齐方式
        borderPane.setAlignment(button2,Pos.CENTER);
        borderPane.setAlignment(button4,Pos.CENTER);
        borderPane.setAlignment(button3,Pos.CENTER);
        borderPane.setAlignment(button5,Pos.CENTER);
        Scene scene=new Scene(borderPane,300,200);

(4) 界面示例
在这里插入图片描述

2.1.5 GridPane - 网格布局面板

(1) 说明
        GridPane将其孩子结点灵活地放置在行列网格中。子结点可以放置在任意位置并且可以跨行列。结点也可以在行列内随便覆盖,网格窗格孩子结点列表中的顺序决定了这些结点的堆栈顺序:第一个在最下,最后一个在上面。
(4) 常用方法

方法描述
GridPane()构造方法。
setRowIndex(Node child, Integer value)
getRowIndex(Node child)
设置或获取指定组件的行索引
setColumnIndex(Node child, Integer value)
getColumnIndex(Node child)
设置或获取指定组件的列索引
setRowSpan(Node child, Integer value)
getRowSpan(Node child)
设置或获取子控件在被网格窗格包含时的行跨度,以便它垂直地跨行该数量的行。这可以设置为REMAINING,这将导致跨扩展到所有剩余的行。
setColumnSpan(Node child, Integer value)
getColumnSpan(Node child)
设置子控件在被网格窗格包含时的列跨度,以便它水平地跨该列数。这可以设置为REMAINING,这将导致跨扩展到所有剩余的列。
setMargin(Node child, Insets value)
getMargin(Node child)
设置指定组件的内间距
setHalignment(Node child, HPos value)
getHalignment(Node child)
设置子元素被网格包含时的水平对齐方式。如果设置,将覆盖gridpane的默认水平对齐方式。将该值设置为null将删除约束。
setValignment(Node child, VPos value)
getValignment(Node child)
设置子元素被网格窗格包含时的垂直对齐方式。如果设置,将覆盖gridpane的默认垂直对齐。将该值设置为null将删除约束。
setHgrow(Node child, Priority value)
getHgrow(Node child)
当子节点包含在网格中时,设置其水平增长优先级。如果设置了该值,则当网格的大小调整到比其首选宽度更大时,该网格将使用优先级为子节点分配额外的水平空间。
setVgrow(Node child, Priority value)
getVgrow(Node child)
当子节点包含在网格中时,为其设置垂直增长优先级。如果设置了该参数,则如果网格的大小被调整为大于其首选高度,则网格将使用优先级为子节点分配额外的垂直空间。
setFillWidth(Node child, Boolean value)
isFillWidth(Node child)
当包含在网格窗格中时,为子窗格设置水平填充策略。如果设置了该策略,则网格窗格将使用该策略来确定是否应该展开节点以填充列,还是将节点大小调整为其首选宽度。
setFillHeight(Node child, Boolean value)
isFillHeight(Node child)
当包含在网格窗格中时,为子窗格设置垂直填充策略。如果设置了该策略,则网格窗格将使用该策略来确定是否应该展开节点以填充行,还是将节点大小调整为其首选高度。
setConstraints(Node child, int columnIndex, int rowIndex)
setConstraints(Node child, int columnIndex,
                        int rowIndex, int columnspan, int rowspan)
setConstraints(Node child, int columnIndex, int rowIndex,
                        int columnspan, int rowspan,HPos halignment, VPos valignment)
setConstraints(Node child, int columnIndex, int rowIndex,
                        int columnspan, int rowspan,HPos halignment,      
                       VPos valignment, Priority hgrow, Priority vgrow)
setConstraints(Node child, int columnIndex, int rowIndex,
                        int columnspan, int rowspan,HPos halignment, VPos valignment,
                        Priority hgrow, Priority vgrow, Insets margin)
设置约束
clearConstraints(Node child)清除所有约束设置
hgapProperty()
setHgap(double value)
getHgap()
设置或获取组件水平间距
vgapProperty()
setVgap(double value)
getVgap()
设置或获取组件垂直间距
alignmentProperty()
setAlignment(Pos value)
getAlignment()
获取或设置对齐方式
gridLinesVisibleProperty()
setGridLinesVisible(boolean value)
isGridLinesVisible()
仅用于调试目的:控制是否显示行以显示网格的行和列。默认为false。
getRowConstraints()获取行约束
getColumnConstraints()获取列约束
add(Node child, int columnIndex, int rowIndex)
add(Node child, int columnIndex, int rowIndex, int colspan, int rowspan)
在指定行列新增组件
addRow(int rowIndex, Node… children)给指定行添加组件
addColumn(int columnIndex, Node… children)给指定列添加组件
getContentBias()
requestLayout()请求布局
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        //定义各个部分组件
        Button button1 = new Button("按钮1");
        Button button2 = new Button("按钮2");
        Button button3 = new Button("按钮3");
        GridPane gridPane=new GridPane();
        //在指定行列位置加入组件
        gridPane.add(button1,1,1);
        gridPane.add(button2,2,2);
        gridPane.add(button3,3,3);
        Scene scene=new Scene(gridPane,300,200);

(4) 界面示例
在这里插入图片描述

2.1.6 DialogPane - 对话框面板

(1) 说明
        DialogPane 对话框,包含文字、图片、自定义按钮、折叠和展开
(4) 常用方法

方法描述
DialogPane()
构造方法
graphicProperty()
getGraphic()
setGraphic(Node graphic)
对话框图形,显示在标题中(如果显示的话)或内容的左侧。
headerProperty()
getHeader()
setHeader(Node header)
对话框窗格标题。
headerTextProperty()
setHeaderText(String headerText)
getHeaderText()
表示对话框窗格的标题文本的属性。报头文本的优先级低于报头节点。
contentProperty()
getContent()
setContent(Node content)
对话框窗格内容。
contentTextProperty()
setContentText(String contentText)
getContentText()
表示对话框窗格的内容文本的属性。内容文本的优先级低于内容节点。
expandableContentProperty()
getExpandableContent()
setExpandableContent(Node content)
表示对话框可展开内容区域的属性。
expandedProperty()
isExpanded()
setExpanded(boolean value)
表示是否展开对话框窗格。
getButtonTypes()用于对话框按钮栏区域的按钮类型的可观察列表(通过createButtonBar()方法创建)。修改此列表的内容将立即更改对话框窗格中显示给用户的按钮。
lookupButton(ButtonType buttonType)该方法提供了一种方法,开发人员可以通过该方法检索给定ButtonType的实际Node(假设它是按钮类型列表的一部分)。
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        DialogPane dialogPane=new DialogPane();
        dialogPane.setHeaderText("标题");
        dialogPane.setContentText("内容");
        dialogPane.setExpandableContent(new Label("隐藏文本"));
        Scene scene=new Scene(dialogPane,300,200);

(4) 界面示例
在这里插入图片描述

2.1.7 HBox - 水平布局面板

(1) 说明
        HBox将其所有子节点(组件)放置在一个水平行中。
(4) 常用方法

方法描述
HBox()
HBox(double spacing)
HBox(Node… children)
HBox(double spacing, Node… children)
构造方法。
spacing:组件之间水平间距。
children:内部组件
setHgrow(Node child, Priority value)
getHgrow(Node child)
当包含在hbox中时,为子元素设置水平生长优先级。
setMargin(Node child, Insets value)
getMargin(Node child)
设置内边距。
clearConstraints(Node child)清除所有约束设置
spacingProperty()
setSpacing(double value)
getSpacing()
设置或获取组件之间的间距
alignmentProperty()
setAlignment(Pos value)
getAlignment()
设置或获取对其方式
fillHeightProperty()
setFillHeight(boolean value)
isFillHeight()
可调整大小的子元素是否会被调整大小以填充hbox的整个高度,或者被调整到它们的首选高度并根据对齐vpos值进行对齐。
getContentBias()
requestLayout()请求布局
getBaselineOffset()基于第一个托管子节点计算基线偏移量。
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        //定义各个部分组件
        Button button1 = new Button("按钮1");
        Button button2 = new Button("按钮2");
        Button button3 = new Button("按钮3");
        //设置组件水平布局
        HBox hBox=new HBox(10,button1,button2,button3);
        hBox.setAlignment(Pos.TOP_CENTER);
        Scene scene=new Scene(hBox,300,200);

(4) 界面示例
在这里插入图片描述

2.1.8 VBox - 垂直布局面板

(1) 说明
        VBox将其所有子节点(组件)放置在一个垂直列中。

(4) 常用方法

方法描述
VBox()
VBox(double spacing)
VBox(Node… children)
VBox(double spacing, Node… children)
构造方法。
spacing:组件之间水平间距。
children:内部组件
setVgrow(Node child, Priority value)
getVgrow(Node child)
当包含在vbox中时,设置子元素的垂直生长优先级。
setMargin(Node child, Insets value)
getMargin(Node child)
设置或获取对其方式
clearConstraints(Node child)
spacingProperty()
setSpacing(double value)
getSpacing()
设置或获取组件之间的间距
alignmentProperty()
setAlignment(Pos value)
getAlignment()
设置或获取对其方式
fillWidthProperty()
setFillWidth(boolean value)
isFillWidth()
可调整大小的子元素是否会被调整大小以填充vbox的整个宽度,或者被调整到它们的首选宽度并根据对齐hpos值进行对齐。
getContentBias()
requestLayout()请求布局
getBaselineOffset()基于第一个托管子节点计算基线偏移量。
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        //定义各个部分组件
        Button button1 = new Button("按钮1");
        Button button2 = new Button("按钮2");
        Button button3 = new Button("按钮3");
        //设置组件垂直布局
        VBox vBox=new VBox(5,button1,button2,button3);
        vBox.setAlignment(Pos.TOP_LEFT);
        Scene scene=new Scene(vBox,300,200);

(4) 界面示例
在这里插入图片描述

2.1.9 TilePane - 单元格布局面板

(1) 说明
        TilePane在大小相等的单元格网格中布局其子组件。
(4) 常用方法

方法描述
TilePane()
TilePane(Orientation orientation)
TilePane(double hgap, double vgap)
TilePane(Orientation orientation, double hgap, double vgap)
TilePane(Node… children)
TilePane(Orientation orientation, Node… children)
TilePane(double hgap, double vgap, Node… children)
TilePane(Orientation orientation, double hgap, double vgap, Node… children)
构造方法。
orientation:组件平铺方向
hgap:水平间距
vgap:纵向间距
children:内部组件
setAlignment(Node node, Pos value)
getAlignment(Node node)
设置或获取组件对其方式
setMargin(Node node, Insets value)
getMargin(Node node)
设置或获取组件内边距
clearConstraints(Node child)清除所有约束设置
orientationProperty()
setOrientation(Orientation value)
getOrientation()
组件的排列方法
prefRowsProperty()
setPrefRows(int value)
getPrefRows()
垂直面板单元的首选行数。
prefColumnsProperty()
setPrefColumns(int value)
getPrefColumns()
水平面板单元的首选列数。
prefTileWidthProperty()
setPrefTileWidth(double value)
getPrefTileWidth()
每个面板单元的首选宽度。
prefTileHeightProperty()
setPrefTileHeight(double value)
getPrefTileHeight()
每个面板单元的首选高度。
tileWidthProperty()
getTileWidth()
每个面板单元格的实际宽度。该属性是只读的。
tileHeightProperty()
getTileHeight()
每个面板单元格的实际高度。该属性是只读的。
hgapProperty()
setHgap(double value)
getHgap()
组件水平间距
vgapProperty()
setVgap(double value)
getVgap()
组件垂直间距
alignmentProperty()
setAlignment(Pos value)
getAlignment()
面板元格内容在其宽度和高度内的整体对齐方式。
tileAlignmentProperty()
setTileAlignment(Pos value)
getTileAlignment()
每个子元素在其tile中的默认对齐方式。可以通过设置子元素的对齐约束来覆盖单个子元素。
getContentBias()
requestLayout()请求布局
getBaselineOffset()基于第一个托管子节点计算基线偏移量。
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        //定义各个部分组件
        Button button1 = new Button("按钮1");
        Button button2 = new Button("按钮22");
        Button button3 = new Button("按钮333");
        Button button4 = new Button("按钮4444");
        Button button5 = new Button("按钮55555");
        //设置组件平铺布局
        TilePane tilePane=new TilePane(Orientation.HORIZONTAL,10,10,button1,button2,button3,button4,button5);
        tilePane.setTileAlignment(Pos.TOP_LEFT);//平铺对其方式
        Scene scene=new Scene(tilePane,300,200);

(4) 界面示例
在这里插入图片描述

2.1.10 StackPane - 堆叠面板

(1) 说明
        StackPanel为堆式面板,将子元素按照声明的先后顺序堆在一起。设置Orientation属性值确定以水平或垂直方向堆放。在面板中,根据子元素的最大尺寸来确定最佳尺寸。
(4) 常用方法

方法描述
StackPane()
StackPane(Node… children)
构造方法
setMargin(Node child, Insets value)
getMargin(Node child)
设置组件的内边距
clearConstraints(Node child)清除约束设置
setAlignment(Node child, Pos value)
getAlignment(Node child)
alignmentProperty()
setAlignment(Pos value)
getAlignment()
设置组件对齐方式。
getContentBias()
requestLayout()请求布局
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        //定义重叠组件
        Rectangle rectangle = new Rectangle(100, 100, 180, 160);
        Circle circle = new Circle(100, 100, 70);
        Text text=new Text("文本");
        circle.setFill(Color.RED);
        rectangle.setFill(Color.BLUE);
        StackPane stackPane = new StackPane(rectangle,circle,text);
        Scene scene = new Scene(stackPane, 300,200);

(4) 界面示例
在这里插入图片描述

2.1.11 TextFlow - 文本流面板

(1) 说明
        TextFlow为文本流面板。
(4) 常用方法

方法描述
TextFlow()
TextFlow(Node… children)
构造方法。
requestLayout()请求布局。
getContentBias()
getTextAlignment()
setTextAlignment(TextAlignment value)
getTextAlignment()
设置文本对齐方式
lineSpacingProperty()
setLineSpacing(double spacing)
getLineSpacing()
定义行间的垂直空间(以像素为单位)。
getBaselineOffset()
getClassCssMetaData()
getCssMetaData()
获取类Css元数据
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)

(3) 代码示例

        //定义文本
        Text text1 = new Text("文本1");
        text1.setFill(Color.RED);
        Text text2 = new Text("文本2");
        text2.setFill(Color.BLUE);
        Text text3 = new Text("文本3");
        text3.setFill(Color.GREEN);
        TextFlow stackPane = new TextFlow(text1,text2,text3);
        stackPane.setLineSpacing(5);
        Scene scene = new Scene(stackPane, 300,200);

(4) 界面示例
在这里插入图片描述

2.1.12 Legend 图例说明

(1) 说明
        Legend 为带图例的数据列表。
(4) 常用方法

方法描述
Legend()构造方法
verticalProperty()
isVertical()
setVertical(boolean value)
是否垂直配置
itemsProperty()
getItems()
setItems(ObservableList value)
Legend项配置

(3) 代码示例

        Button button1 = new Button("X");
        Button button2 = new Button("Y");
        Legend legend = new Legend();
        Legend.LegendItem legendItem1 = new Legend.LegendItem("Test legend item");
        legendItem1.setSymbol(button1);//添加项符号
        Legend.LegendItem legendItem2 = new Legend.LegendItem("Test legend item");
        legendItem2.setSymbol(button2);//添加项符号
        ObservableList<Legend.LegendItem> items = FXCollections.observableArrayList(legendItem1,legendItem2);
        legend.setItems(items);
        legend.setVertical(true);//是否垂直显示
        Scene scene = new Scene(legend, 300,200);

(4) 界面示例
在这里插入图片描述

2.1.13 TitledPane - 标题折叠面板

(1) 说明
        TitledPane在一个窗格(框)中显示其内容,该窗格顶部包含一个标题。标题窗格可以折叠,因此只有标题栏可见。
(4) 常用方法

方法描述
TitledPane()
TitledPane(String title, Node content)
构造方法。
contentProperty()
setContent(Node value)
getContent()
获取或设置内容组件
expandedProperty()
setExpanded(boolean value)
isExpanded()
判断或设置展开状态
animatedProperty()
setAnimated(boolean value)
isAnimated()
指定如何打开和关闭TitledPane。当此值设置为true时,面板将被动画化。默认为true。
collapsibleProperty()
setCollapsible(boolean value)
isCollapsible()
指定是否可以折叠TitledPane。默认为true。
getClassCssMetaData()
getControlCssMetaData()
获取类Css元数据
getContentBias()
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)辅助技术调用此方法来请求属性的值。
executeAccessibleAction(AccessibleAction action, Object… parameters)辅助技术调用此方法以请求执行参数所指示的操作。

(3) 代码示例

        TitledPane titledPane = new TitledPane("标题",new Label("内容"));
        Scene scene = new Scene(titledPane, 500, 400);

(4) 界面示例
在这里插入图片描述

2.1.14 TabPane - 标签面板

(1) 说明
        TabPane充当选项卡的容器,允许在多个选项卡之间切换。
(2) 常用方法

方法描述
TabPane()
TabPane(Tab… tabs)
构造方法
getTabs()获取选项卡集合,可用于新加选项卡
selectionModelProperty()
setSelectionModel(SingleSelectionModel value)
getSelectionModel()
获取或设置选择原型,可用于获取选项卡选中的状态等数据。
sideProperty()
setSide(Side value)
getSide()
选项卡位置。有如下值:TOP(顶部)、BOTTOM(下部)、LEFT(左侧)、RIGHT(右侧)
tabClosingPolicyProperty()
setTabClosingPolicy(TabClosingPolicy value)
getTabClosingPolicy()
选项卡关闭策略。有如下值:UNAVAILABLE(不能关闭)、SELECTED_TAB(关闭当前)、ALL_TABS(所有)
rotateGraphicProperty()
setRotateGraphic(boolean value)
isRotateGraphic()
指定制表符内的图形是否旋转,使其始终保持垂直,或以与制表符文本相同的方式旋转。
tabMinWidthProperty()
setTabMinWidth(double value)
getTabMinWidth()
选项卡最小宽度
tabMaxWidthProperty()
setTabMaxWidth(double value)
getTabMaxWidth()
选项卡最大宽度
tabMinHeightProperty()
setTabMinHeight(double value)
getTabMinHeight()
选项卡最小高度
tabMaxHeightProperty()
setTabMaxHeight(double value)
getTabMaxHeight()
选项卡最大高度
lookup(String selector)根据给定的CSS选择器查找此Node或第一个子节点。
lookupAll(String selector)查找与给定CSS选择器匹配的所有节点,包括这个节点和任何子节点。
getClassCssMetaData()
getControlCssMetaData()
获取类Css元数据

(3) 代码示例

        Tab tab1=new Tab("标题1",new Label("内容1"));
        Tab tab2=new Tab("标题2",new Label("内容2"));
        TabPane tabpane = new TabPane(tab1,tab2);
        Scene scene=new Scene(tabpane,300,200);

(4) 界面示例

在这里插入图片描述

2.1.15 ScrollPane - 滚动面板

(1) 说明
        ScrollPane控件是一个容器,如果组件大于ScrollPane的可见区域,则在其包含的组件周围有两个滚动条。滚动条允许用户在滚动窗格中显示的组件周围滚动,以便可以看到组件的不同部分。
(2) 常用方法

方法描述
ScrollPane()
ScrollPane(Node content)
构造方法
hbarPolicyProperty()
setHbarPolicy(ScrollBarPolicy value)
getHbarPolicy()
指定显示水平滚动条的策略。
vbarPolicyProperty()
setVbarPolicy(ScrollBarPolicy value)
getVbarPolicy()
指定显示垂直滚动条的策略。
contentProperty()
setContent(Node value)
getContent()
设置组件。
hvalueProperty()
setHvalue(double value)
getHvalue()
当前水平滚动条位置。
vvalueProperty()
setVvalue(double value)
getVvalue()
当前垂直滚动条位置。
hminProperty()
setHmin(double value)
getHmin()
水平滚动条允许的最小值。默认值为0。
vminProperty()
setVmin(double value)
getVmin()
垂直滚动条允许的最小值。默认值为0。
hmaxProperty()
setHmax(double value)
getHmax()
水平滚动条允许的最大值。默认值为1。
vmaxProperty()
setVmax(double value)
getVmax()
垂直滚动条允许的最大值。默认值为1。
fitToWidthProperty()
setFitToWidth(boolean value)
isFitToWidth()
如果为true,并且所包含的节点是可调整大小的,
那么该节点将保持调整大小以匹配ScrollPane视口的宽度。
fitToHeightProperty()
setFitToHeight(boolean value)
isFitToHeight()
如果为true,并且所包含的节点是可调整大小的,
那么该节点将保持调整大小以匹配ScrollPane视口的高度。
pannableProperty()
setPannable(boolean value)
isPannable()
指定用户是否应该能够通过使用鼠标平移视口。
prefViewportWidthProperty()
setPrefViewportWidth(double value)
getPrefViewportWidth()
指定首选宽度。
prefViewportHeightProperty()
setMinViewportHeight(double value)
getMinViewportHeight()
指定首选高度。
viewportBoundsProperty()
setViewportBounds(Bounds value)
getViewportBounds()
指定实际边界
getClassCssMetaData()
getControlCssMetaData()
获取类Css元数据
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)

(3) 代码示例

        Label label = new Label();
        label.setPrefSize(150,500);
        ScrollPane scrollPane = new ScrollPane(label);
        scrollPane.setPrefSize(100, 150);

(4) 界面示例

在这里插入图片描述

2.2 基础组件相关

2.2.1 Button - 按钮

(1) 说明
        按钮控件允许在应用程序中用户单击按钮时执行某些操作。
(2) 常用方法

方法描述
Button()
Button(String text)
Button(String text, Node graphic)
构造方法。可设置按钮文本和图标。
defaultButtonProperty()
setDefaultButton(boolean value)
isDefaultButton()
是否回车触发按钮
cancelButtonProperty()
setCancelButton(boolean value)
isCancelButton()
是否Esc键触发按钮
fire()触发按钮

(3) 代码示例

        Button button=new Button("按钮");
        button.setOnAction(e->{
            System.out.println("点击按钮!");
        });

(4) 界面示例

在这里插入图片描述

2.2.2 CheckBox - 复选框

(1) 说明
        CheckBox 复选框是一个按钮,它可以处于三种不同的状态:选中、未选中和未知(不确定)。
(2) 常用方法

方法描述
CheckBox()
CheckBox(String text)
构造方法。
indeterminateProperty()
setIndeterminate(boolean value)
isIndeterminate()
是否默认显示不确定状态
selectedProperty()
setSelected(boolean value)
isSelected()
是否为选中状态
allowIndeterminateProperty()
setAllowIndeterminate(boolean value)
isAllowIndeterminate()
是否允许不确定状态
fire()触发按钮
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)

(3) 代码示例

        CheckBox checkBox = new CheckBox("复选框");

(4) 界面示例
在这里插入图片描述

2.2.3 ToggleButton - 切换按钮

(1) 说明
        按钮控件允许在应用程序中用户单击按钮时执行某些操作。
(2) 常用方法

方法描述
ToggleButton()
ToggleButton(String text)
ToggleButton(String text, Node graphic)
构造方法。
selectedProperty()
setSelected(boolean value)
isSelected()
是否选中状态
toggleGroupProperty()
setToggleGroup(ToggleGroup value)
getToggleGroup()
设置或获取切换组
fire()触发切换按钮
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)

(3) 代码示例

        ToggleGroup toggleGroup =new ToggleGroup();
        ToggleButton toggleButton1 = new ToggleButton("切换1");
        toggleButton1.setToggleGroup(toggleGroup);
        ToggleButton toggleButton2 = new ToggleButton("切换2");
        toggleButton2.setToggleGroup(toggleGroup);
        FlowPane flowPane = new FlowPane(10,10,toggleButton1,toggleButton2);

(4) 界面示例

在这里插入图片描述

2.2.4 RadioButton - 单选按钮

(1) 说明
        RadioButton是可以选择或不选择的按钮。
(2) 常用方法

方法描述
RadioButton()
RadioButton(String text)
构造方法
fire()触发单选按钮
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)

(3) 代码示例

        ToggleGroup toggleGroup =new ToggleGroup();
        RadioButton radioButton1 = new RadioButton("选项1");
        radioButton1.setToggleGroup(toggleGroup);
        RadioButton radioButton2 = new RadioButton("选项2");
        radioButton2.setToggleGroup(toggleGroup);
        FlowPane flowPane = new FlowPane(10,10,radioButton1,radioButton2);

(4) 界面示例

在这里插入图片描述

2.2.5 Hyperlink - 超链接

(1) 说明
        Hyperlink控件是一个用作按钮的文本,这意味着您可以配置一个超链接,以便在用户单击它时执行某些操作。
(2) 常用方法

方法描述
Hyperlink()
Hyperlink(String text)
Hyperlink(String text, Node graphic)
构造方法
visitedProperty()
setVisited(boolean value)
isVisited()
指示此链接是否已被“访问”。
fire()触发超链接
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)

(3) 代码示例

        Hyperlink hyperlink =new Hyperlink("超链接");
        hyperlink.setOnAction(e->{
            System.out.println("触发超链接");
        });

(4) 界面示例

在这里插入图片描述

2.2.6 MenuButton - 菜单按钮

(1) 说明
        MenuButton 菜单按钮控件的工作原理与普通按钮类似,只是它提供了一个选项列表,用户可以选择单击。
(2) 常用方法

方法描述
MenuButton()
MenuButton(String text)
MenuButton(String text, Node graphic)
MenuButton(String text, Node graphic, MenuItem… items)
构造方法。
getItems()获取菜单项列表,可用于添加菜单项
showingProperty()
isShowing()
popupSideProperty()
setPopupSide(Side value)
getPopupSide()
弹出选项列表的位置
show()
hide()
显示或隐藏菜单项
fire()触发按钮
executeAccessibleAction(AccessibleAction action, Object… parameters)

(3) 代码示例

        MenuButton menuButton=new MenuButton("菜单按钮");
        MenuItem menuItem1 = new MenuItem("菜单项1");
        MenuItem menuItem2 = new MenuItem("菜单项2");
        menuItem1.setOnAction(e->{
            System.out.println("点击菜单项1");
        });
        menuItem2.setOnAction(e->{
            System.out.println("点击菜单项2");
        });
        menuButton.getItems().addAll(menuItem1,menuItem2);

(4) 界面示例

在这里插入图片描述

2.2.7 SplitMenuButton - 分隔菜单按钮

(1) 说明
        
(2) 常用方法

方法描述
SplitMenuButton()
SplitMenuButton(MenuItem… items)
构造方法
fire()触发按钮
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)
executeAccessibleAction(AccessibleAction action, Object… parameters)

(3) 代码示例

        SplitMenuButton   splitMenuButton=new SplitMenuButton();
        splitMenuButton.setText("菜单按钮");
        MenuItem menuItem1 = new MenuItem("菜单项1");
        MenuItem menuItem2 = new MenuItem("菜单项2");
        menuItem1.setOnAction(e->{
            System.out.println("点击菜单项1");
        });
        menuItem2.setOnAction(e->{
            System.out.println("点击菜单项2");
        });
        splitMenuButton.getItems().addAll(menuItem1,menuItem2);

(4) 界面示例
在这里插入图片描述

2.2.8 Label - 文本标签

(1) 说明
        Label为标签,主要用于展示文本或图片。
(2) 常用方法

方法描述
Label()
Label(String text)
Label(String text, Node graphic)
构造方法。
labelForProperty()
setLabelFor(Node value)
getLabelFor()
标签可以作为不同控件或节点的标签。这用于助记符和加速符解析。

(3) 代码示例

        Image image = new Image(new FileInputStream("D:\\日期.png"),30,30,true,true);
        Label label=new Label("文本",new ImageView(image));

(4) 界面示例
在这里插入图片描述

2.2.9 ColorPicker - 颜色选择器

(1) 说明
        ColorPicker 颜色选择器控件允许用户从可用的颜色范围中选择颜色,或通过指定RGB或HSB组合设置其他颜色。
(2) 常用方法

方法描述
ColorPicker()
ColorPicker(Color color)
构造方法。
getCustomColors()获取当前颜色,可用于配置当前颜色

(3) 代码示例

        ColorPicker colorPicker=new ColorPicker(Color.BLACK);
        //设置自定义栏颜色
        colorPicker.getCustomColors().addAll(Color.RED,Color.GREEN,Color.BLUE);
        //获取选中的颜色
        Color color = colorPicker.getValue();

(4) 界面示例

在这里插入图片描述

2.2.10 DatePicker - 日期选择器

(1) 说明
         DatePicker控件允许用户输入日期或从类似向导的弹出对话框中选择日期。
(2) 常用方法

方法描述
DatePicker()
DatePicker(LocalDate localDate)
构造方法。
dayCellFactoryProperty()
setDayCellFactory(Callback<DatePicker, DateCell> value)
getDayCellFactory()
可以提供自定义单元格工厂来自定义DatePicker弹出框中的单个日期单元格。
chronologyProperty()
setChronology(Chronology value)
getChronology()
用于在DatePicker控件中解析、显示和选择日期的日历系统。
showWeekNumbersProperty()
setShowWeekNumbers(boolean value)
isShowWeekNumbers()
是否显示日期周数
converterProperty()
setConverter(StringConverter value)
getConverter()
将输入文本转换为LocalDate类型的对象,反之亦然。
editorProperty()
getEditor()
获取DatePicker的编辑器。
getControlCssMetaData()
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)

(3) 代码示例

        DatePicker datePicker=new DatePicker(LocalDate.now());
        //设置日期选择器单元格样式
        datePicker.setDayCellFactory(picker -> new DateCell() {
            @Override
            public void updateItem(LocalDate date, boolean empty) {
                super.updateItem(date, empty);
                if (date.isBefore(LocalDate.of(2023, 1, 1)) || date.isAfter(LocalDate.of(2023, 12, 31))) {
                    //设置日期选择返回,不可选的禁用
                    setDisable(true);
                }
            }
        });
        //添加值改变监听器
        datePicker.valueProperty().addListener((observable, oldValue, newValue) -> {
            System.out.println(oldValue+" " + newValue);
        });

(4) 界面示例
在这里插入图片描述

2.2.11 ComboBox - 组合框

(1) 说明
        ComboBox控件允许用户从预定义的选项列表中选择一个选项,或者如果预定义的选项与用户想要选择的内容不匹配,则键入另一个值。
(2) 常用方法

方法描述
ComboBox()
ComboBox(ObservableList items)
itemsProperty()
setItems(ObservableList value)
getItems()
获取或设置选择项
converterProperty()
setConverter(StringConverter value)
getConverter()
选择项字符串转换器
cellFactoryProperty()
setCellFactory(Callback<ListView, ListCell> value)
getCellFactory()
单元格工厂,可用于设置选择项的样式
buttonCellProperty()
setButtonCell(ListCell value)
getButtonCell()
设置按钮单元格
selectionModelProperty()
setSelectionModel(SingleSelectionModel value)
getSelectionModel()
获取或设置选择模型
visibleRowCountProperty()
setVisibleRowCount(int value)
getVisibleRowCount()
显示的行数,多出的通过滚动条显示
editorProperty()
getEditor()
获取文本框,可用于文本框设置
placeholderProperty()
setPlaceholder(Node value)
getPlaceholder()
没有内容要显示时,将向用户显示此节点。
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)

(3) 代码示例

        ComboBox comboBox = new ComboBox();
        comboBox.setEditable(true);
        comboBox.getItems().add("选项1");
        comboBox.getItems().add("选项2");
        comboBox.getItems().add("选项3");

(4) 界面示例
在这里插入图片描述

2.2.12 Accordion - 折叠面板

(1) 说明
        
(2) 常用方法

方法描述
Accordion()
Accordion(TitledPane… titledPanes)
构造方法。
expandedPaneProperty()
setExpandedPane(TitledPane value)
getExpandedPane()
设置展开的面板
getPanes()获取面板集合,可用于新增面板

(3) 代码示例

        TitledPane pane1 = new TitledPane("面板1" , new Label("内容1"));
        TitledPane pane2 = new TitledPane("面板2" , new Label("内容2"));
        TitledPane pane3 = new TitledPane("面板3", new Label("内容3"));
        Accordion accordion = new Accordion(pane1,pane2,pane3);

(4) 界面示例
在这里插入图片描述

2.2.14 HTMLEditor - html富文本编辑器

(1) 说明
        HTMLEditor是一种高级HTML编辑器,它使用户编辑HTML比用文本编写完整的HTML标记更容易。HTMLEditor包含一组按钮,可用于设置编辑文本所见即所得样式的样式。
(2) 常用方法

方法描述
HTMLEditor()构造方法
getHtmlText()
setHtmlText(String htmlText)
获取或设置html文本
print(PrinterJob job)打印文档

(3) 代码示例

        HTMLEditor htmlEditor=new HTMLEditor();

(4) 界面示例
在这里插入图片描述

2.2.15 Pagination - 分页控件

(1) 说明
        
(2) 常用方法

方法描述
Pagination(int pageCount, int pageIndex)
Pagination(int pageCount)
Pagination()
构造方法。
maxPageIndicatorCountProperty()
setMaxPageIndicatorCount(int value)
getMaxPageIndicatorCount()
设置分页控件的页面指示器的最大数量。
pageCountProperty()
setPageCount(int value)
getPageCount()
获取或设置页数
currentPageIndexProperty()
setCurrentPageIndex(int value)
getCurrentPageIndex()
获取或设置当前页索引
pageFactoryProperty()
setPageFactory(Callback<Integer, Node> value)
getPageFactory()
获取或设置页工程,可用于设置每页显示的内容
getClassCssMetaData()
getControlCssMetaData()
获取类Css元数据

(3) 代码示例

        Pagination pagination = new Pagination(17, 0);
        pagination.setMaxPageIndicatorCount(4);
        pagination.setPageFactory((pageIndex) -> {
            return new Label("第" + (pageIndex+1)+"页内容");
        });

(4) 界面示例
在这里插入图片描述

2.2.16 TextField - 文本框

(1) 说明
        TextField 为文本框,用户输入文本,然后应用程序可以读取这些文本。
(2) 常用方法

方法描述
TextField()
TextField(String text)
构造方法。
getCharacters()返回支持文本字段内容的字符序列。
prefColumnCountProperty()
getPrefColumnCount()
setPrefColumnCount(int value)
首选的文本列数。为TextField的首选宽度。
onActionProperty()
getOnAction()
setOnAction(EventHandler value)
户键入ENTER键时调用
alignmentProperty()
setAlignment(Pos value)
getAlignment()
获取或设置文本对其方式
getClassCssMetaData()
getControlCssMetaData()
获取类Css元数据

(3) 代码示例

        TextField textField=new TextField();
        textField.setAlignment(Pos.CENTER_LEFT);
        textField.setOnAction(e->{
            System.out.println(e.getEventType());
        });

(4) 界面示例

在这里插入图片描述

2.2.17 TextArea - 文本域

(1) 说明
        TextArea为文本域,用户输入跨多行的文本,然后应用程序可以读取这些文本。
(2) 常用方法

方法描述
TextArea()
TextArea(String text)
构造方法。
getParagraphs()返回支持文本区域内容的字符序列的不可修改列表。
wrapTextProperty()
isWrapText()
setWrapText(boolean value)
如果文本超过TextArea的宽度,则该变量指示文本是否应该换行到另一行。
prefColumnCountProperty()
getPrefColumnCount()
setPrefColumnCount(int value)
首选的文本列数。为TextArea 的首选宽度。
prefRowCountProperty()
getPrefRowCount()
setPrefRowCount(int value)
首选的文本行数。为TextArea 的首选高度。
scrollTopProperty()
getScrollTop()
setScrollTop(double value)
内容垂直滚动的像素数。
scrollLeftProperty()
getScrollLeft()
setScrollLeft(double value)
内容水平滚动的像素数。
getClassCssMetaData()
getControlCssMetaData()
获取类Css元数据

(3) 代码示例

        TextArea textArea =new TextArea();
        textArea.setPrefColumnCount(10);
        textArea.setPrefRowCount(5);

(4) 界面示例
在这里插入图片描述

2.2.18 PasswordField - 密码框

(1) 说明
        PasswordField 为TextField的子类,用户输入密码,然后应用程序可以读取该密码,它为输入的每个字符显示一个圆圈。
(2) 常用方法

方法描述
PasswordField()构造方法。
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)

(3) 代码示例

        PasswordField passwordField=new PasswordField();

(4) 界面示例
在这里插入图片描述

2.2.19 Spinner - 微调器

(1) 说明
        Spinner 是一个能够实现按照步长修改数字的控件。
(2) 常用方法

方法描述
Spinner()
Spinner(int min, int max, int initialValue)
Spinner(int min, int max, int initialValue,int amountToStepBy)
Spinner(ObservableList items)
Spinner(SpinnerValueFactory valueFactory)
构造方法。int类型可为double。
min:最小值。
max:最大值。
initialValue:初始值。
amountToStepBy:每一步增加或减少的量。
items:将在微调器中逐级执行的项列表。
valueFactory:要使用的值工厂
increment()
increment(int steps)
增加
decrement()
decrement(int steps)
减少
valueProperty()
getValue()
获取值
valueFactoryProperty()
setValueFactory(SpinnerValueFactory value)
getValueFactory()
获取或设置值工厂
editableProperty()
setEditable(boolean value)
isEditable()
设置是否可编辑
editorProperty()
getEditor()
获取文本框,用于设置文本框。
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)
executeAccessibleAction(AccessibleAction action, Object… parameters)

(3) 代码示例

         Spinner spinner=new Spinner(0,100,0,2);    

(4) 界面示例

在这里插入图片描述

2.2.20 Separator - 分割符

(1) 说明
        Separator组件为组件组之间的可视分隔符
(2) 常用方法

方法描述
Separator()
Separator(Orientation orientation)
构造方法。
orientationProperty()
setOrientation(Orientation value)
getOrientation()
设置分隔符方向。
halignmentProperty()
setHalignment(HPos value)
getHalignment()
设置水平对其方式。
valignmentProperty()
setValignment(VPos value)
getValignment()
设置垂直对其方式。
getClassCssMetaData()获取类Css元数据

(3) 代码示例

        Label label1 = new Label("文本");
        Label label2 = new Label("文本");
        Separator separator = new Separator(Orientation.VERTICAL);
        separator.setPrefHeight(100);
        FlowPane flowPane = new FlowPane(10, 10,label1, separator,label2);      

(4) 界面示例
在这里插入图片描述

2.2.21 ChoiceBox - 选择框

(1) 说明
        ChoiceBox控件允许用户从预定义的选项列表中选择选项。
(2) 常用方法

方法描述
ChoiceBox()
ChoiceBox(ObservableList items)
构造方法。
selectionModelProperty()
setSelectionModel(SingleSelectionModel value)
selectionModelProperty()
获取或设置选择模型
showingProperty()
isShowing()
判断是否显示选择项
itemsProperty()
setItems(ObservableList value)
getItems()
获取或设置选择项
converterProperty()
setConverter(StringConverter value)
getConverter()
获取或设置字符串转换器
getValue()
setValue(T value)
获取或设置值。
onActionProperty()
setOnAction(EventHandler value)
getOnAction()
每当更改ChoiceBox值属性时调用该操作。
onShowingProperty()
setOnShowing(EventHandler value)
getOnShowing()
在显示ChoiceBox弹出窗口之前调用。
onShownProperty()
setOnShown(EventHandler value)
getOnShown()
在显示ChoiceBox弹出窗口之后调用。
onHidingProperty()
setOnHiding(EventHandler value)
getOnHiding()
调用之前的选择框弹出被隐藏。
onHiddenProperty()
setOnHidden(EventHandler value)
getOnHidden()
在选择框弹出窗口被隐藏之后调用。
show()
hide()
显示或隐藏
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)
executeAccessibleAction(AccessibleAction action, Object… parameters)

(3) 代码示例

        ChoiceBox choiceBox =new ChoiceBox();
        choiceBox.getItems().add("选项1");
        choiceBox.getItems().add("选项2");
        choiceBox.getItems().add("选项3");      

(4) 界面示例
在这里插入图片描述

2.2.22 ToolBar - 工具栏

(1) 说明
        ToolBar 工具栏是一个水平或垂直条,其中包含按钮或图标,通常用于选择应用程序的不同工具。
(2) 常用方法

方法描述
ToolBar()
ToolBar(Node… items)
构造方法。
getItems()获取按钮项,用于新增按钮
orientationProperty()
setOrientation(Orientation value)
getOrientation()
获取或设置工具栏方向
getClassCssMetaData()
getControlCssMetaData()
获取类Css元数据

(3) 代码示例

          ToolBar toolBar = new ToolBar(new Button("按钮1"),new Button("按钮2"));

在这里插入图片描述

(4) 界面示例

2.2.23 ButtonBar - 按钮栏

(1) 说明
        按钮栏为按指定顺序排列的一组按钮。
(2) 常用方法

方法描述
ButtonBar()
ButtonBar(String buttonOrder)
构造方法。
setButtonData(Node button, ButtonData buttonData)
getButtonData(Node button)
静态方法。在按钮上设给定置给定的ButtonData。
setButtonUniformSize(Node button, boolean uniformSize)
isButtonUniformSize(Node button)
静态方法。按钮是否统一大小
getButtons()获取按钮集合,可用于新增按钮
buttonOrderProperty()
setButtonOrder(String buttonOrder)
getButtonOrder()
标准按钮栏中典型按钮的顺序。
buttonMinWidthProperty()
setButtonMinWidth(double value)
getButtonMinWidth()
按钮的最小宽度

(3) 代码示例

        ButtonBar buttonBar = new ButtonBar();
        Button button1=new Button("左");
        buttonBar.getButtons().add(button1);
        ButtonBar.setButtonData(button1, ButtonBar.ButtonData.LEFT);

        Button button2=new Button("右");
        buttonBar.getButtons().add(button2);
        ButtonBar.setButtonData(button2, ButtonBar.ButtonData.RIGHT);

        Button button3=new Button("帮助");
        buttonBar.getButtons().add(button3);
        ButtonBar.setButtonData(button3, ButtonBar.ButtonData.HELP);

        Button button4=new Button("帮助2");
        buttonBar.getButtons().add(button4);
        ButtonBar.setButtonData(button4, ButtonBar.ButtonData.HELP_2);

        Button button5=new Button("是");
        buttonBar.getButtons().add(button5);
        ButtonBar.setButtonData(button5, ButtonBar.ButtonData.YES);

        Button button6=new Button("否");
        buttonBar.getButtons().add(button6);
        ButtonBar.setButtonData(button6, ButtonBar.ButtonData.NO);

        Button button7=new Button("前进");
        buttonBar.getButtons().add(button7);
        ButtonBar.setButtonData(button7, ButtonBar.ButtonData.NEXT_FORWARD);

        Button button8=new Button("后退");
        buttonBar.getButtons().add(button8);
        ButtonBar.setButtonData(button8, ButtonBar.ButtonData.BACK_PREVIOUS);

        Button button9=new Button("完成");
        buttonBar.getButtons().add(button9);
        ButtonBar.setButtonData(button9, ButtonBar.ButtonData.FINISH);

        Button button10=new Button("应用");
        buttonBar.getButtons().add(button10);
        ButtonBar.setButtonData(button10, ButtonBar.ButtonData.APPLY);

        Button button11=new Button("取消");
        buttonBar.getButtons().add(button11);
        ButtonBar.setButtonData(button11, ButtonBar.ButtonData.CANCEL_CLOSE);

        Button button12=new Button("OK");
        buttonBar.getButtons().add(button12);
        ButtonBar.setButtonData(button12, ButtonBar.ButtonData.OK_DONE);

        Button button13=new Button("其他");
        buttonBar.getButtons().add(button13);
        ButtonBar.setButtonData(button13, ButtonBar.ButtonData.OTHER);

        Button button14=new Button("大间隙");
        buttonBar.getButtons().add(button14);
        ButtonBar.setButtonData(button14, ButtonBar.ButtonData.BIG_GAP);

        Button button15=new Button("小间隙");
        buttonBar.getButtons().add(button15);
        ButtonBar.setButtonData(button15, ButtonBar.ButtonData.SMALL_GAP);
        ScrollPane pane = new ScrollPane(buttonBar);    

(4) 界面示例
在这里插入图片描述

2.2.24 ScrollBar - 滚动条

(1) 说明
        ScrollBar 滚动条包含附加到可滚动窗格的拇指,左右按钮。使用此功能,您可以上下滚动窗格(附加到窗格)。
(2) 常用方法

方法描述
ScrollBar()
minProperty()
setMin(double value)
getMin()
滚动条最小值
maxProperty()
setMax(double value)
getMax()
滚动条最大值
valueProperty()
setValue(double value)
getValue()
滚动条当前值
orientationProperty()
setOrientation(Orientation value)
getOrientation()
滚动条方向
unitIncrementProperty()
setUnitIncrement(double value)
getUnitIncrement()
调用自增或自减方法时调整ScrollBar的量。
blockIncrementProperty()
setBlockIncrement(double value)
getBlockIncrement()
如果单击滚动条的轨迹,则调整滚动条的量。
visibleAmountProperty()
setVisibleAmount(double value)
getVisibleAmount()
滚动条范围的可见量,通常由滚动条拇指的大小表示。
adjustValue(double position)通过blockIncrement调整value属性。位置是最小值和最大值之间的小数。
increment()
decrement()
以unitIncrement增加或减少滚动条的值
getClassCssMetaData()
getControlCssMetaData()
获取类Css元数据
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)
executeAccessibleAction(AccessibleAction action, Object… parameters)

(3) 代码示例

        ScrollBar scrollBar=new ScrollBar();
        scrollBar.setPrefWidth(200);     

(4) 界面示例
在这里插入图片描述

2.2.25 MenuBar - 菜单栏

(1) 说明
        MenuBar 菜单栏为应用程序提供了一个可视化下拉菜单,类似于大多数桌面应用程序在其应用程序窗口顶部的下拉菜单。
(2) 常用方法

方法描述
MenuBar()
MenuBar(Menu… menus)
构造方法。
useSystemMenuBarProperty()
setUseSystemMenuBar(boolean value)
isUseSystemMenuBar()
是否使用系统菜单栏。不应该在每个Stage上设置多个MenuBar实例。
getMenus()获取菜单列表,用于添加菜单
getClassCssMetaData()
getControlCssMetaData()
获取类Css元数据

(3) 代码示例

        MenuBar  menuBar=new MenuBar();
        Menu menu=new Menu("菜单");
        menu.getItems().add(new MenuItem("菜单项1"));
        menu.getItems().add(new SeparatorMenuItem());//添加菜单项分割线
        menu.getItems().add(new MenuItem("菜单项2"));
        menuBar.getMenus().add(menu);   

(4) 界面示例
在这里插入图片描述

2.2.26 ProgressIndicator - 进度指示器

(1) 说明
        ProgressIndicator进度指示器是以动态更改饼图的形式显示JavaFX中的操作进度。

(2) 常用方法

方法描述
ProgressIndicator()
ProgressIndicator(double progress)
构造方法。
indeterminateProperty()
setIndeterminate(boolean value)
isIndeterminate()
一个标志,指示是否可以确定ProgressIndicator的进度。通常,不确定的进度条会以某种形式的动画呈现,表示潜在的“无限”进度。
progressProperty()
setProgress(double value)
getProgress()
实际进度。progress的负值表示进度不确定。0到1之间的正值表示进度百分比,其中0为0%,1为100%。任何大于1的值都被解释为100%。
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)

(3) 代码示例

         ProgressIndicator progressIndicator=new ProgressIndicator(0.3);

(4) 界面示例
在这里插入图片描述

2.2.27 ProgressBar - 进度条

(1) 说明
        ProgressBar是一个能够显示某些任务进度的控件。进度设置为0和1之间的双精度值,其中0表示无进度,1表示完全进度(任务已完成)。
(2) 常用方法

方法描述
ProgressBar()
ProgressBar(double progress)
构造方法。
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)

(3) 代码示例

        ProgressBar  progressIndicator=new ProgressBar(0.3);
        progressIndicator.setPrefWidth(200);     

(4) 界面示例
在这里插入图片描述

2.3 数据展示组件

2.3.1 ListView - 列表视图

(1) 说明
        ListView控件允许用户从预定义的选项列表中选择一个或多个选项。
(2) 常用方法

方法描述
ListView()
ListView(ObservableList items)
构造方法
editAnyEvent()
editStartEvent()
editCancelEvent()
获取编辑事件。任意、开始、取消事件。
itemsProperty()
setItems(ObservableList value)
getItems()
获取或设置列表项
placeholderProperty()
setPlaceholder(Node value)
getPlaceholder()
列表中无列表项时的默认显示内容
selectionModelProperty()
getSelectionModel()
setSelectionModel(MultipleSelectionModel value)
获取或设置选择原型
focusModelProperty()
setFocusModel(FocusModel value)
getFocusModel()
获取或设置焦点原型
orientationProperty()
setOrientation(Orientation value)
getOrientation()
设置或获取列表项排列方向

(3) 代码示例

        ObservableList<String> items = FXCollections.observableArrayList("A", "B", "C", "D","E","F");
        ListView listView=new ListView(items);
        listView.setCellFactory(TextFieldListCell.forListView());//设置列表项单元格工厂,TextFieldListCell为文本框单元格。
        listView.setEditable(true);//设置列表可编辑
        listView.setOrientation(Orientation.VERTICAL);//设置方向,纵向
        listView.setPrefSize(200,300);//设置大小
        listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);//设置多选
        //列表项选中监听器
        listView.getSelectionModel().selectedItemProperty().addListener((obs,o,n)->{
            System.out.printf("新值%s,旧值%s\n",obs,n);
        });
        String selectedItem = (String) listView.getSelectionModel().getSelectedItem();//获取选中的项
        ObservableList selectedItems = listView.getSelectionModel().getSelectedItems();//获取选中的多个项   

(4) 界面示例

在这里插入图片描述

2.3.2 TreeView - 树状数据视图

(1) 说明
        TreeView类提供了展示层级结构的视图。在树中最顶级的节点被称为“根(Root)节点”。Root节点包括了一些子节点,这些子节点还可以有下级子节点。一个没有子节点的节点被称为“叶子(leaf)节点。
(2) 常用方法

方法描述
TreeView()
TreeView(TreeItem root)
构造方法。
editAnyEvent()
editStartEvent()
editCancelEvent()
editCommitEvent()
获取编辑事件。任意、开始、取消、提交事件。
getNodeLevel(TreeItem<?> node)返回给定TreeItem的’缩进’级别。
cellFactoryProperty()
setCellFactory(Callback<TreeView, TreeCell> value)
getCellFactory()
获取或设置单元格工厂
rootProperty()
setRoot(TreeItem value)
getRoot()
设置或获取根节点。
showRootProperty()
setShowRoot(boolean value)
isShowRoot()
设置或获取是否显示根节点。
selectionModelProperty()
setSelectionModel(MultipleSelectionModel<TreeItem> value)
getSelectionModel()
获取或设置选择原型
focusModelProperty()
setFocusModel(FocusModel<TreeItem> value)
getFocusModel()
获取或设置焦点原型
expandedItemCountProperty()
setExpandedItemCount(int value)
getExpandedItemCount()
获取所有展开的树项及其子项的计数。
fixedCellSizeProperty()
setFixedCellSize(double value)
getFixedCellSize()
为此控件设置新的固定单元格大小。
editableProperty()
setEditable(boolean value)
isEditable()
设置是否可编辑
editingItemProperty()
setEditingItem(TreeItem value)
getEditingItem()
获取或设置当前正在编辑的TreeItem
onEditStartProperty()
setOnEditStart(EventHandler<EditEvent> value)
getOnEditStart()
当用户成功启动编辑时,将触发此事件处理程序。
onEditCommitProperty()
setOnEditCommit(EventHandler<EditEvent> value)
getOnEditCommit()
当用户执行应导致其编辑输入被持久化的操作时,使用此属性。
onEditCancelProperty()
setOnEditCancel(EventHandler<EditEvent> value)
getOnEditCancel()
当用户取消编辑单元格时,将触发此事件处理程序。
edit(TreeItem item)指示开始编辑给定的TreeItem
scrollTo(int index)滚动TreeView,使给定索引中的项对最终用户可见。
onScrollToProperty()
setOnScrollTo(EventHandler<ScrollToEvent> value)
getOnScrollTo()
当请求滚动索引到视图时调用scrollTo(int)
getRow(TreeItem item)返回给定TreeItem的索引位置,
getTreeItem(int row)返回给定索引中的TreeItem,如果越界则返回null。
getTreeItemLevel(TreeItem<?> node)返回给定TreeItem的’缩进’级别。
refresh()刷新数据
getClassCssMetaData()
getControlCssMetaData()
获取类Css元数据
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)

(3) 代码示例

        TreeItem<String> root = new TreeItem<>("A");
        TreeItem<String> l1 = new TreeItem<>("B");
        TreeItem<String> l2= new TreeItem<>("C");
        root.getChildren().add(l1);
        l1.getChildren().add(l2);
        TreeView treeView = new TreeView(root);    

(4) 界面示例
在这里插入图片描述

2.3.3 TreeTableView - 树状表格视图

(1) 说明
        TreeTableView为树形表格视图展示。
(2) 常用方法

方法描述
TreeTableView()
TreeTableView(TreeItem<S> root)
editAnyEvent()
editStartEvent()
editCancelEvent()
editCommitEvent()
静态方法。
rootProperty()
setRoot(TreeItem<S> value)
getRoot()
设置根节点
showRootProperty()
setShowRoot(boolean value)
isShowRoot()
是否显示根节点
treeColumnProperty()
setTreeColumn(TreeTableColumn<S,?> value)
getTreeColumn()
selectionModelProperty()
setSelectionModel(TreeTableViewSelectionModel<S> value)
getSelectionModel()
获取或设置选择模型
focusModelProperty()
setFocusModel(TreeTableViewFocusModel<S> value)<br>getFocusModel()
获取或设置焦点模型
expandedItemCountProperty()
getExpandedItemCount()
获取当前能够在TreeTableView中可见的树节点的数量。
editableProperty()
setEditable(boolean value)
isEditable()
是否是可编辑的,只有当TreeTableView和TreeCell都是可编辑的,TreeCell才能进入编辑状态。
editingCellProperty()
getEditingCell()
表示正在编辑的当前单元格,如果没有正在编辑的单元格,则表示为空。
tableMenuButtonVisibleProperty()
setTableMenuButtonVisible (boolean value)
isTableMenuButtonVisible()
是否显示可筛选列的菜单按钮
columnResizePolicyProperty()
setColumnResizePolicy(Callback<TreeTableView.ResizeFeatures, Boolean> callback)
getColumnResizePolicy()
完成列大小调整操作时调用的函数。
rowFactoryProperty()
setRowFactory(Callback<TreeTableView<S>, TreeTableRow<S>> value)
getRowFactory()
生成TreeTableRow的函数。
placeholderProperty()
setPlaceholder(Node value)
getPlaceholder()
当表没有要显示的内容时,要显示的内容。
fixedCellSizeProperty()
setFixedCellSize(double value)
getFixedCellSize()
为此控件设置新的固定单元格大小。任何大于零的值都将启用固定单元格大小模式,而零或负值将用于禁用固定单元格大小模式。
sortModeProperty()
setSortMode(TreeSortMode value)
getSortMode()
设置排序模式
comparatorProperty()
getComparator()
获取比较器
sortPolicyProperty()
setSortPolicy(Callback<TreeTableView<S>, Boolean> callback)
getSortPolicy()
排序策略指定如何在这个TreeTableView中执行排序。
onSortProperty()
setOnSort(EventHandler<SortEvent<TreeTableView<S>>> value)
getOnSort()
当有排序控件的请求时调用。
scrollTo(int index)滚动TreeTableView,使给定索引中的项对最终用户可见。
onScrollToProperty()
setOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)
getOnScrollTo()
当请求滚动索引到视图时调用scrollTo(int)
scrollToColumn(TreeTableColumn<S, ?> column)滚动TreeTableView,使给定的列在视窗中可见。
scrollToColumnIndex(int columnIndex)滚动TreeTableView,使给定的列索引在视窗中可见。
onScrollToColumnProperty()
setOnScrollToColumn(EventHandler
                     <ScrollToEvent<TreeTableColumn<S, ?>>> value)
getOnScrollToColumn()
当需要使用scrollToColumn或scrollToColumnIndex将列滚动到视图中时调用
getRow(TreeItem<S> item)返回给定TreeItem的索引位置,
getTreeItem(int row)返回给定索引中的TreeItem,如果越界则返回null。
getTreeItemLevel(TreeItem<?> node)返回给定TreeItem的’缩进’级别。
getColumns()获取树形表格的列集合
getSortOrder()排序的顺序的列集合。
resizeColumn(TreeTableColumn<S,?> column, double delta)对给定列应用当前安装的调整大小策略,根据提供的增量值调整列的大小。
edit(int row, TreeTableColumn<S,?> column)导致单元格在给定的行/列视图索引切换到它的编辑状态
getVisibleLeafColumns()返回包含当前可见叶列的不可修改列表。
getVisibleLeafIndex(TreeTableColumn<S,?> column)返回给定列相对于所有其他可见叶列的位置。
getVisibleLeafColumn(int column)返回给定列索引中的TreeTableColumn,相对于所有其他可见的叶列。
sort()强制TreeTableView重新运行它的排序算法。
refresh()强制TreeTableView控件重新创建并重新填充填充控件可视边界所需的单元格。
getClassCssMetaData()
getControlCssMetaData()
获取类Css元数据
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)

(3) 代码示例

        //定义数据
        TreeItem treeItem =new TreeItem(new DataPojo("a","b","c"));
        TreeItem<DataPojo> treeItem1 = new TreeItem<>(new DataPojo("a1", "b1", "c1"));
        treeItem1.getChildren().add(new TreeItem<>(new DataPojo("a11", "b11", "c11")));
        treeItem.getChildren().add(treeItem1);
        treeItem.getChildren().add(new TreeItem<>(new DataPojo("a2","b2","c2")));
        treeItem.getChildren().add(new TreeItem<>(new DataPojo("a3","b3","c3")));
        //定义树形表格
        TreeTableView treeTableView = new TreeTableView(treeItem);
        treeTableView.setShowRoot(false);
        treeTableView.setEditable(true);
        treeTableView.setTableMenuButtonVisible(true);
        //定义树形表格列
        TreeTableColumn<Object, String> nameColumn1 = new TreeTableColumn<>("A");//定义树形表格列,并设置显示文本
        nameColumn1.setPrefWidth(100);//设置宽度
        nameColumn1.setEditable(true);
        nameColumn1.setCellValueFactory(new TreeItemPropertyValueFactory<>("a"));//配置列对应的数据,指定 数据对象 字段属性
        nameColumn1.setCellFactory(TextFieldTreeTableCell.forTreeTableColumn());//配置单元格
        treeTableView.getColumns().add(nameColumn1);//往树形表格中添加列
        TreeTableColumn<Object, String> nameColumn2 = new TreeTableColumn<>("B");
        nameColumn2.setPrefWidth(100);
        nameColumn2.setCellValueFactory(new TreeItemPropertyValueFactory<>("b"));
        nameColumn2.setCellFactory(TextFieldTreeTableCell.forTreeTableColumn());
        treeTableView.getColumns().add(nameColumn2);
        TreeTableColumn<Object, String> nameColumn3 = new TreeTableColumn<>("C");
        nameColumn3.setPrefWidth(100);
        nameColumn3.setCellValueFactory(new TreeItemPropertyValueFactory<>("c"));
        nameColumn3.setCellFactory(TextFieldTreeTableCell.forTreeTableColumn());
        treeTableView.getColumns().add(nameColumn3);
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
/**
* 数据对象
**/
public class DataPojo {
    private StringProperty  a;
    private StringProperty b;
    private StringProperty  c;

    public DataPojo(String a, String b, String c) {
        this.a = new SimpleStringProperty(a);
        this.b =new SimpleStringProperty(b);
        this.c = new SimpleStringProperty(c);
    }

    public String getA() {
        return a.get();
    }

    public StringProperty aProperty() {
        return a;
    }

    public void setA(String a) {
        this.a.set(a);
    }

    public String getB() {
        return b.get();
    }

    public StringProperty bProperty() {
        return b;
    }

    public void setB(String b) {
        this.b.set(b);
    }

    public String getC() {
        return c.get();
    }

    public StringProperty cProperty() {
        return c;
    }

    public void setC(String c) {
        this.c.set(c);
    }
}

(4) 界面示例
在这里插入图片描述

2.3.4 TableView - 表格视图

(1) 说明
        TableView可在应用程序中显示表视图。
(2) 常用方法

方法描述
TableView()
TableView(ObservableList<S> items)
构造方法。
itemsProperty()
setItems(ObservableList<S> value)
getItems()
获取或设置表格数据
tableMenuButtonVisibleProperty()
setTableMenuButtonVisible (boolean value)
isTableMenuButtonVisible()
是否显示可筛选列的菜单按钮
columnResizePolicyProperty()
setColumnResizePolicy(Callback<ResizeFeatures, Boolean> callback)
getColumnResizePolicy()
完成列大小调整操作时调用的函数。
rowFactoryProperty()
setRowFactory(Callback<TableView<S>, TableRow<S>> value)
getRowFactory()
生成TreeTableRow的函数。
placeholderProperty()
setPlaceholder(Node value)
getPlaceholder()
当表没有要显示的内容时,要显示的内容。
selectionModelProperty()
setSelectionModel(TableViewSelectionModel<S> value)
getSelectionModel()
获取或设置选择模型
focusModelProperty()
setFocusModel(TableViewFocusModel<S> value)
getFocusModel()
获取或设置焦点模型
editableProperty()
setEditable(boolean value)
isEditable()
是否是可编辑的,只有当TreeTableView和TreeCell都是可编辑的,TreeCell才能进入编辑状态。
fixedCellSizeProperty()
setFixedCellSize(double value)
getFixedCellSize()
为此控件设置新的固定单元格大小。任何大于零的值都将启用固定单元格大小模式,而零或负值将用于禁用固定单元格大小模式。
editingCellProperty()
getEditingCell()
表示正在编辑的当前单元格,如果没有正在编辑的单元格,则表示为空。
comparatorProperty()
getComparator()
获取比较器
sortPolicyProperty()
setSortPolicy(Callback<TableView<S>, Boolean> callback)
getSortPolicy()
排序策略指定如何在这个TreeTableView中执行排序。
onSortProperty()
setOnSort(EventHandler<SortEvent<TableView<S>>> value)
getOnSort()
当有排序控件的请求时调用。
getColumns()获取树形表格的列集合
getSortOrder()排序的顺序的列集合。
scrollTo(int index)滚动TreeTableView,使给定索引中的项对最终用户可见。
scrollTo(S object)滚动TreeTableView,使给定索引中的项对最终用户可见。
onScrollToProperty()
setOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)
getOnScrollTo()
当请求滚动索引到视图时调用scrollTo(int)
scrollToColumn(TableColumn<S, ?> column)滚动TreeTableView,使给定的列在视窗中可见。
scrollToColumnIndex(int columnIndex)滚动TreeTableView,使给定的列索引在视窗中可见。
onScrollToColumnProperty()
setOnScrollToColumn(
                 EventHandler<ScrollToEvent<TableColumn<S, ?>>> value)
getOnScrollToColumn()
当需要使用scrollToColumn或scrollToColumnIndex将列滚动到视图中时调用
resizeColumn(TableColumn<S,?> column, double delta)对给定列应用当前安装的调整大小策略,根据提供的增量值调整列的大小。
edit(int row, TableColumn<S,?> column)导致单元格在给定的行/列视图索引切换到它的编辑状态
getVisibleLeafColumns()返回包含当前可见叶列的不可修改列表。
getVisibleLeafIndex(TableColumn<S,?> column)返回给定列相对于所有其他可见叶列的位置。
getVisibleLeafColumn(int column)返回给定列索引中的TreeTableColumn,相对于所有其他可见的叶列。
sort()排序
refresh()刷新
getClassCssMetaData()
getControlCssMetaData()
获取类Css元数据
queryAccessibleAttribute(AccessibleAttribute attribute, Object… parameters)

(3) 代码示例

        //定义数据
        ObservableList<DataPojo> list = FXCollections.observableArrayList(
                new DataPojo("A1", "B1", "C1"),
                new DataPojo("A2", "B2", "C2"),
                new DataPojo("A3", "B3", "C3"));
        //创建表格视图
        TableView tableView = new TableView(list);
        tableView.setTableMenuButtonVisible(true);
        // 创建表格列
        TableColumn tableColumn1 = new TableColumn("A");
        tableColumn1.setPrefWidth(100);
        tableColumn1.setCellValueFactory(new PropertyValueFactory<>("a"));//配置列对应的数据,指定 数据对象 字段属性
        tableView.getColumns().add(tableColumn1);
        TableColumn tableColumn2 = new TableColumn("B");
        tableColumn2.setPrefWidth(100);
        tableColumn2.setCellValueFactory(new PropertyValueFactory<>("b"));//配置列对应的数据,指定 数据对象 字段属性
        tableView.getColumns().add(tableColumn2);
        TableColumn tableColumn3 = new TableColumn("C");
        tableColumn3.setPrefWidth(100);
        tableColumn3.setCellValueFactory(new PropertyValueFactory<>("c"));//配置列对应的数据,指定 数据对象 字段属性
        tableView.getColumns().add(tableColumn3); 
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
/**
* 数据对象
**/
public class DataPojo {
    private StringProperty  a;
    private StringProperty b;
    private StringProperty  c;

    public DataPojo(String a, String b, String c) {
        this.a = new SimpleStringProperty(a);
        this.b =new SimpleStringProperty(b);
        this.c = new SimpleStringProperty(c);
    }

    public String getA() {
        return a.get();
    }

    public StringProperty aProperty() {
        return a;
    }

    public void setA(String a) {
        this.a.set(a);
    }

    public String getB() {
        return b.get();
    }

    public StringProperty bProperty() {
        return b;
    }

    public void setB(String b) {
        this.b.set(b);
    }

    public String getC() {
        return c.get();
    }

    public StringProperty cProperty() {
        return c;
    }

    public void setC(String c) {
        this.c.set(c);
    }
}

(4) 界面示例
在这里插入图片描述

2.3.5 ImageView - 图像视图

(1) 说明
        ImageView控件可以用来显示图像。
(2) 常用方法

方法描述
ImageView()
ImageView(String url)
ImageView(Image image)
构造方法。
imageProperty()
setImage(Image value)
getImage()
设置图像
xProperty()
setX(double value)
getX()
当前x坐标。
yProperty()
setY(double value)
getY()
当前y坐标。
fitWidthProperty()
setFitWidth(double value)
getFitWidth()
图像填充宽度
fitHeightProperty()
setFitHeight(double value)
getFitHeight()
图像填充高度
preserveRatioProperty()
setPreserveRatio(boolean value)
isPreserveRatio()
指示在缩放以在拟合边界框内拟合图像时是否保留源图像的宽高比。
smoothProperty()
setSmooth(boolean value)
isSmooth()
指示在转换或缩放源图像以适应由fitWidth和fitHeight提供的边界框时,是使用质量更好的滤波算法还是更快的滤波算法。
viewportProperty()
setViewport(Rectangle2D value)
getViewport()
将矩形视口放入图像中。在缩放或任何其他转换之前,视口在图像的坐标中指定。
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        FileInputStream input = new FileInputStream("D:\\图片\\0.jpg");
        Image image = new Image(input);
        ImageView imageView = new ImageView(image);
        imageView.setFitWidth(100);//设置图像宽
        imageView.setPreserveRatio(true);//图像按原比例缩放    

(4) 界面示例
在这里插入图片描述

2.3.6 MediaView - 多媒体视图

(1) 说明
        用于显示媒体播放器。
(2) 常用方法

方法描述
MediaView()
MediaView(MediaPlayer mediaPlayer)
构造方法。
mediaPlayerProperty()
setMediaPlayer (MediaPlayer value)
getMediaPlayer()
设置媒体播放器
onErrorProperty()
setOnError(EventHandler<MediaErrorEvent> value)
getOnError()
视频加载异常时执行
preserveRatioProperty()
setPreserveRatio(boolean value)
isPreserveRatio()
指示在缩放以在拟合边界框内拟合视频时是否保留源视频的宽高比。
smoothProperty()
setSmooth(boolean value)
isSmooth()
指示在转换或缩放源视频以适应由fitWidth和fitHeight提供的边界框时,是使用质量更好的滤波算法还是更快的滤波算法。
xProperty()
setX(double value)
getX()
当前x坐标。
yProperty()
setY(double value)
getY()
当前y坐标。
fitWidthProperty()
setFitWidth(double value)
getFitWidth()
视频填充宽度
fitHeightProperty()
setFitHeight(double value)
getFitHeight()
视频填充宽度
viewportProperty()
setViewport(Rectangle2D value)
getViewport()
将矩形视口放入视频中。在缩放或任何其他转换之前,视口在视频的坐标中指定。

(3) 代码示例

        Media media = new Media(new File("D:\\技术栈介绍.mp4").toURI().toString());
        MediaPlayer mediaPlayer = new MediaPlayer(media);
        mediaPlayer.setAutoPlay(true);//自动播放
        MediaView mediaView = new MediaView(mediaPlayer);
        mediaView.setFitWidth(300);//设置视频视图宽度
        mediaView.setPreserveRatio(true);//视频按原比例缩放
        FlowPane flowPane = new FlowPane(10, 10, mediaView);    

(4) 界面示例
在这里插入图片描述

2.3.7 WebView - Web视图

(1) 说明
        WebView组件能够在应用程序中显示网页(HTML、CSS、SVG、JavaScript)。
(2) 常用方法

方法描述
WebView()
getEngine()获取Web引擎对象。
widthProperty()
getWidth()
获取宽度
heightProperty()
getHeight()
获取高度
zoomProperty()
setZoom(double value)
getZoom()
适用于整个页面内容的缩放系数。
fontScaleProperty()
setFontScale(double value)
getFontScale()
指定应用于字体的比例因子。此设置影响文本内容,但不影响图像和固定大小的元素。
isResizable()
resize(double width, double height)
调整是否支持。允许任意生长和收缩。
resize(double width, double height)页面调整大小
minWidth(double height)
minHeight(double width)
在布局期间调用,确定此节点的最小宽度、高度。参数没什么用。
prefWidth(double height)
prefHeight(double width)
在布局期间调用,确定此节点的当前宽度、高度。参数没什么用。
maxWidth(double height)
maxHeight(double width)
在布局期间调用,确定此节点的最大宽度、高度。参数没什么用。
minWidthProperty()
setMinWidth(double value)
getMinWidth()
获取或设置最小宽度
minHeightProperty()
setMinHeight(double value)
getMinHeight()
获取或设置最小高度
setMinSize(double minWidth, double minHeight)获取或设置最小大小
prefWidthProperty()
setPrefWidth(double value)
getPrefWidth()
获取或设置当前宽度
prefHeightProperty()
setPrefHeight(double value)
getPrefHeight()
获取或设置当前高度
setPrefSize(double prefWidth, double prefHeight)获取或设置当前大小
maxWidthProperty()
setMaxWidth(double value)
getMaxWidth()
获取或设置最大宽度
maxHeightProperty()
setMaxHeight(double value)
getMaxHeight()
获取或设置最大高度
setMaxSize(double maxWidth, double maxHeight)获取或设置最大大小
fontSmoothingTypeProperty()
setFontSmoothingType(FontSmoothingType value)
getFontSmoothingType()
指定请求的字体平滑类型:灰色或LCD。
contextMenuEnabledProperty()
setContextMenuEnabled(boolean value)
isContextMenuEnabled()
指定是否启用上下文菜单。
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        WebView webView = new WebView();
        webView.setPrefWidth(300);
        webView.setPrefHeight(200);
        webView.resize(300,200);
        webView.setZoom(0.1);//html页面缩放倍数
        webView.setFontScale(3);//文字缩放倍数
        webView.getEngine().load("http://www.chinanews.com.cn/gn/2023/08-18/10063167.shtml");    

(4) 界面示例
在这里插入图片描述

2.4 图表

2.4.1 LineChart 线性图

(1) 说明
        LineChart 折线图或折线图是将信息显示为由直线段连接的一系列数据点(标记)。
(2) 常用方法

方法描述
LineChart(Axis<X> xAxis, Axis<Y> yAxis)
LineChart(Axis xAxis, Axis yAxis, ObservableList<Series<X,Y>> data)
构造方法。
createSymbolsProperty()
getCreateSymbols()
setCreateSymbols(boolean value)
指示是否为数据点创建符号。
axisSortingPolicyProperty()
getAxisSortingPolicy()
setAxisSortingPolicy(SortingPolicy value)
指示传递给LineChart的数据是否应按其中一个轴的自然顺序排序。
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        //定义x、y轴。CategoryAxis为类别轴;NumberAxis为数字轴。
        CategoryAxis xAxis = new CategoryAxis();
        xAxis.setTickLabelFill(Color.GREEN);//x轴刻度线颜色
        xAxis.setLabel("x坐标");
        NumberAxis yAxis = new NumberAxis(0, 10, 2);//可设置最低、最高、单位刻度
        yAxis.setTickLabelFormatter(new NumberAxis.DefaultFormatter(yAxis,"$ ",null));//格式化刻度标签
        yAxis.setLabel("y坐标");
        //创建面积图,并指定x、y轴。
        LineChart lineChart = new LineChart(xAxis, yAxis);
        lineChart.setVerticalGridLinesVisible(false);//去掉垂直网格线
        lineChart.setHorizontalGridLinesVisible(false);//去掉水平网格线
        lineChart.setTitle("标题");
        lineChart.setPrefSize(300, 200);
        //准备数据,添加x、y对应的值,可设置多组数据。
        XYChart.Series dataSeries1 = new XYChart.Series();
        dataSeries1.setName("2013");
        dataSeries1.getData().add(new XYChart.Data("A", 1,1));
        dataSeries1.getData().add(new XYChart.Data("B", 6));
        dataSeries1.getData().add(new XYChart.Data("C", 9));
        dataSeries1.getData().add(new XYChart.Data("D", 7));
        XYChart.Series dataSeries2 = new XYChart.Series();
        dataSeries2.setName("2014");
        dataSeries2.getData().add(new XYChart.Data("A", 5));
        dataSeries2.getData().add(new XYChart.Data("B", 9));
        dataSeries2.getData().add(new XYChart.Data("C", 2));
        dataSeries2.getData().add(new XYChart.Data("D", 8));
        //将数据添加到面积图
        lineChart.getData().addAll(dataSeries1,dataSeries2);    

(4) 界面示例
在这里插入图片描述

2.4.2 BarChart 条形图

(1) 说明
        BarChart条形图可以定义为使用矩形条来表示数据的图表。条形的长度代表绘制在轴之一上的精确数字数据值。矩形条可以水平或垂直绘制在图形上。
(2) 常用方法

方法描述
BarChart(Axis<X> xAxis, Axis<Y> yAxis)
BarChart(Axis<X> xAxis, Axis<Y> yAxis, ObservableList<Series<X,Y>> data)
BarChart(Axis<X> xAxis, Axis<Y> yAxis, ObservableList<Series<X,Y>> data, double categoryGap
构造方法。
barGapProperty()
getBarGap()
setBarGap(double value)
同一类别中条之间的间距
categoryGapProperty()
getCategoryGap()
setCategoryGap(double value)
在不同类别的条之间留下的间隙
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

         //定义x、y轴。CategoryAxis为类别轴;NumberAxis为数字轴。
        CategoryAxis xAxis = new CategoryAxis();
        xAxis.setTickLabelFill(Color.GREEN);//x轴刻度线颜色
        xAxis.setLabel("x坐标");
        NumberAxis yAxis = new NumberAxis(0, 10, 2);//可设置最低、最高、单位刻度
        yAxis.setLabel("y坐标");
        //创建面积图,并指定x、y轴。
        BarChart barChart = new BarChart(xAxis, yAxis);
        barChart.setTitle("标题");
        barChart.setPrefSize(300, 200);
        //准备数据,添加x、y对应的值,可设置多组数据。
        XYChart.Series dataSeries1 = new XYChart.Series();
        dataSeries1.setName("2013");
        dataSeries1.getData().add(new XYChart.Data("A", 1,1));
        dataSeries1.getData().add(new XYChart.Data("B", 6));
        dataSeries1.getData().add(new XYChart.Data("C", 9));
        dataSeries1.getData().add(new XYChart.Data("D", 7));

        XYChart.Series dataSeries2 = new XYChart.Series();
        dataSeries2.setName("2014");
        dataSeries2.getData().add(new XYChart.Data("A", 5));
        dataSeries2.getData().add(new XYChart.Data("B", 9));
        dataSeries2.getData().add(new XYChart.Data("C", 2));
        dataSeries2.getData().add(new XYChart.Data("D", 8));
        //将数据添加到面积图
        barChart.getData().addAll(dataSeries1,dataSeries2);

(4) 界面示例

在这里插入图片描述

2.4.3 AreaChart 面积图

(1) 说明
        AreaChart面积图用于显示图形化的定量数据。它基本上绘制了 XY 平面上一组点的面积。它与折线图的不同之处在于折线图通过直线段将数据点连接起来,而不是绘制它们所占用的区域。
(2) 常用方法

方法描述
AreaChart( Axis<X> xAxis, Axis<Y> yAxis)
AreaChart(Axis<X> xAxis, Axis<Y> yAxis, ObservableList<Series<X,Y>> data)
构造方法。
createSymbolsProperty()
getCreateSymbols()
setCreateSymbols(boolean value)
指示是否为数据点创建符号。
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        //定义x、y轴。CategoryAxis为类别轴;NumberAxis为数字轴。
        CategoryAxis xAxis = new CategoryAxis();
        xAxis.setTickLabelFill(Color.GREEN);//x轴刻度线颜色
        xAxis.setLabel("x坐标");
        NumberAxis yAxis = new NumberAxis(0, 10, 2);//可设置最低、最高、单位刻度
        yAxis.setLabel("y坐标");
        //创建面积图,并指定x、y轴。
        AreaChart areaChart = new AreaChart(xAxis, yAxis);
        areaChart.setTitle("标题");
        areaChart.setPrefSize(300, 200);
        //准备数据,添加x、y对应的值,可设置多组数据。
        XYChart.Series dataSeries1 = new XYChart.Series();
        dataSeries1.setName("2013");
        dataSeries1.getData().add(new XYChart.Data("A", 1,1));
        dataSeries1.getData().add(new XYChart.Data("B", 6));
        dataSeries1.getData().add(new XYChart.Data("C", 9));
        dataSeries1.getData().add(new XYChart.Data("D", 7));
        XYChart.Series dataSeries2 = new XYChart.Series();
        dataSeries2.setName("2014");
        dataSeries2.getData().add(new XYChart.Data("A", 5));
        dataSeries2.getData().add(new XYChart.Data("B", 9));
        dataSeries2.getData().add(new XYChart.Data("C", 2));
        dataSeries2.getData().add(new XYChart.Data("D", 8));
        //将数据添加到面积图
        areaChart.getData().addAll(dataSeries1,dataSeries2); 

(4) 界面示例
在这里插入图片描述

2.4.4 ScatterChart 散点图

(1) 说明
        ScatterChart 是一种用一组点来表示数据的双轴图表。每个点通过X和Y值来定义。
(2) 常用方法

方法描述
ScatterChart(Axis<X> xAxis,Axis<Y> yAxis)
ScatterChart(Axis xAxis,Axis yAxis, ObservableList<Series<X,Y>> data)
构造方法。

(3) 代码示例

        //定义x、y轴。CategoryAxis为类别轴;NumberAxis为数字轴。
        CategoryAxis xAxis = new CategoryAxis();
        xAxis.setTickLabelFill(Color.GREEN);//x轴刻度线颜色
        xAxis.setLabel("x坐标");
        NumberAxis yAxis = new NumberAxis(0, 10, 2);//可设置最低、最高、单位刻度
        yAxis.setLabel("y坐标");
        //创建面积图,并指定x、y轴。
        ScatterChart   scatterChart = new ScatterChart(xAxis, yAxis);
        scatterChart.setTitle("标题");
        scatterChart.setPrefSize(300, 200);
        //准备数据,添加x、y对应的值,可设置多组数据。
        XYChart.Series dataSeries1 = new XYChart.Series();
        dataSeries1.setName("2013");
        dataSeries1.getData().add(new XYChart.Data("A", 1,1));
        dataSeries1.getData().add(new XYChart.Data("B", 6));
        dataSeries1.getData().add(new XYChart.Data("C", 9));
        dataSeries1.getData().add(new XYChart.Data("D", 7));

        XYChart.Series dataSeries2 = new XYChart.Series();
        dataSeries2.setName("2014");
        dataSeries2.getData().add(new XYChart.Data("A", 5));
        dataSeries2.getData().add(new XYChart.Data("B", 9));
        dataSeries2.getData().add(new XYChart.Data("C", 2));
        dataSeries2.getData().add(new XYChart.Data("D", 8));
        //将数据添加到面积图
        scatterChart.getData().addAll(dataSeries1,dataSeries2); 

(4) 界面示例
在这里插入图片描述

2.4.5 StackedAreaChart 叠加面积图

(1) 说明
        StackedAreaChart 堆叠面积图是基本面积图的扩展,其中显示同一图形上几个组的值的演变。该区域是针对某个组的所有数据点绘制的。然而,不同组的区域以堆叠的形式显示,但它们彼此不重叠。堆积面积图主要用于追踪两组数值的比较。
(2) 常用方法

方法描述
StackedAreaChart(Axis<X> xAxis, Axis<Y> yAxis)
StackedAreaChart( Axis<X> xAxis, Axis<Y> yAxis, ObservableList<Series<X,Y>> data)
构造方法。
createSymbolsProperty()
getCreateSymbols()
setCreateSymbols(boolean value)
指示是否为数据点创建符号。
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        //定义x、y轴。CategoryAxis为类别轴;NumberAxis为数字轴。
        CategoryAxis xAxis = new CategoryAxis();
        xAxis.setTickLabelFill(Color.GREEN);//x轴刻度线颜色
        xAxis.setLabel("x坐标");
        NumberAxis yAxis = new NumberAxis(0, 20, 2);//可设置最低、最高、单位刻度
        yAxis.setLabel("y坐标");
        //创建面积图,并指定x、y轴。
        StackedAreaChart  stackedAreaChart = new StackedAreaChart(xAxis, yAxis);
        stackedAreaChart.setTitle("标题");
        stackedAreaChart.setPrefSize(300, 200);
        //准备数据,添加x、y对应的值,可设置多组数据。
        XYChart.Series dataSeries1 = new XYChart.Series();
        dataSeries1.setName("2013");
        dataSeries1.getData().add(new XYChart.Data("A", 1,1));
        dataSeries1.getData().add(new XYChart.Data("B", 6));
        dataSeries1.getData().add(new XYChart.Data("C", 9));
        dataSeries1.getData().add(new XYChart.Data("D", 7));

        XYChart.Series dataSeries2 = new XYChart.Series();
        dataSeries2.setName("2014");
        dataSeries2.getData().add(new XYChart.Data("A", 5));
        dataSeries2.getData().add(new XYChart.Data("B", 9));
        dataSeries2.getData().add(new XYChart.Data("C", 2));
        dataSeries2.getData().add(new XYChart.Data("D", 8));
        //将数据添加到面积图
        stackedAreaChart.getData().addAll(dataSeries1,dataSeries2); 

(4) 界面示例
在这里插入图片描述

2.4.6 StackedBarChart 叠加条形图

(1) 说明
        
(2) 常用方法

方法描述
StackedBarChart( Axis<X> xAxis, Axis<Y> yAxis)
StackedBarChart(Axis<X> xAxis, Axis<Y> yAxis, ObservableList<Series<X, Y>> data)
StackedBarChart(Axis<X> xAxis, Axis<Y> yAxis, ObservableList<Series<X, Y>> data, double categoryGap)
构造方法。
categoryGapProperty()
getCategoryGap()
setCategoryGap(double value)
在不同类别的条之间留下的间隙
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        //定义x、y轴。CategoryAxis为类别轴;NumberAxis为数字轴。
        CategoryAxis xAxis = new CategoryAxis();
        xAxis.setTickLabelFill(Color.GREEN);//x轴刻度线颜色
        xAxis.setLabel("x坐标");
        NumberAxis yAxis = new NumberAxis(0, 20, 2);//可设置最低、最高、单位刻度
        yAxis.setLabel("y坐标");
        //创建面积图,并指定x、y轴。
        StackedBarChart stackedBarChart = new StackedBarChart(xAxis, yAxis);
        stackedBarChart.setTitle("标题");
        stackedBarChart.setPrefSize(300, 200);
        //准备数据,添加x、y对应的值,可设置多组数据。
        XYChart.Series dataSeries1 = new XYChart.Series();
        dataSeries1.setName("2013");
        dataSeries1.getData().add(new XYChart.Data("A", 1,1));
        dataSeries1.getData().add(new XYChart.Data("B", 6));
        dataSeries1.getData().add(new XYChart.Data("C", 9));
        dataSeries1.getData().add(new XYChart.Data("D", 7));

        XYChart.Series dataSeries2 = new XYChart.Series();
        dataSeries2.setName("2014");
        dataSeries2.getData().add(new XYChart.Data("A", 5));
        dataSeries2.getData().add(new XYChart.Data("B", 9));
        dataSeries2.getData().add(new XYChart.Data("C", 2));
        dataSeries2.getData().add(new XYChart.Data("D", 8));
        //将数据添加到面积图
        stackedBarChart.getData().addAll(dataSeries1,dataSeries2); 

(4) 界面示例
在这里插入图片描述

2.4.7 BubbleChart 气泡图

(1) 说明
        BubbleChart 气泡图用于种植三维数据; 第三个维度将由气泡的大小(半径)表示。
(2) 常用方法

方法描述
BubbleChart( Axis xAxis, Axis yAxis)
BubbleChart(Axis<X> xAxis, Axis<Y> yAxis, ObservableList<Series<X,Y>> data)
构造方法。

(3) 代码示例

       //定义x、y轴。CategoryAxis为类别轴;NumberAxis为数字轴。
        NumberAxis xAxis = new NumberAxis(0,10,2);
        xAxis.setTickLabelFill(Color.GREEN);//x轴刻度线颜色
        xAxis.setLabel("x坐标");
        NumberAxis yAxis = new NumberAxis(0, 12, 2);//可设置最低、最高、单位刻度
        yAxis.setLabel("y坐标");
        //创建面积图,并指定x、y轴。
        BubbleChart bubbleChart = new BubbleChart(xAxis, yAxis);
        bubbleChart.setTitle("标题");
        bubbleChart.setPrefSize(250, 200);
        //准备数据,添加x、y对应的值,可设置多组数据。
        XYChart.Series dataSeries1 = new XYChart.Series();
        dataSeries1.setName("2013");
        dataSeries1.getData().add(new XYChart.Data(4, 1,1));//设置x、y坐标及气泡大小
        dataSeries1.getData().add(new XYChart.Data(8, 6,0.75));
        dataSeries1.getData().add(new XYChart.Data(1, 9));
        XYChart.Series dataSeries2 = new XYChart.Series();
        dataSeries2.setName("2014");
        dataSeries2.getData().add(new XYChart.Data(6, 5,0.5));
        dataSeries2.getData().add(new XYChart.Data(2, 9,1.5));
        dataSeries2.getData().add(new XYChart.Data(8, 2,0.25));
        //将数据添加到面积图
        bubbleChart.getData().addAll(dataSeries1,dataSeries2); 

(4) 界面示例
在这里插入图片描述

2.4.8 PieChart 饼形图

(1) 说明
        PieChart能够根据您提供的数据在应用程序中绘制饼图
(2) 常用方法

方法描述
PieChart()
PieChart(ObservableList<PieChart.Data> data)
构造方法。
dataProperty()
getData()
setData(ObservableList<Data> value)
饼图数据
startAngleProperty()
getStartAngle()
setStartAngle(double value)
开始第一个饼切片的角度
clockwiseProperty()
setClockwise(boolean value)
isClockwise()
当为true时,我们从startAngle开始顺时针放置切片
labelLineLengthProperty()
getLabelLineLength()
setLabelLineLength(double value)
从饼图外部到切片标签的线的长度。
labelsVisibleProperty()
setLabelsVisible(boolean value)
getLabelsVisible()
指示是否绘制饼图标签
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        //定义数据
        ObservableList<PieChart.Data> pieChartData = FXCollections.observableArrayList(
                new PieChart.Data("A", 5),
                new PieChart.Data("B", 3),
                new PieChart.Data("C", 7));
        PieChart pieChart = new PieChart(pieChartData);
        pieChart.setPrefSize(200,200);
        pieChart.setLabelLineLength(20);//标签线连接线长度
        pieChart.setLegendSide(Side.LEFT);//设置图例位置 

(4) 界面示例
在这里插入图片描述

2.5 基本图形

2.5.1 Rectangle 矩形

(1) 说明
        Rectangle 矩形是由四个边组成的几何图形,其中对边总是相等的,并且相邻的两个边之间的夹角为90度。有四个相等边的矩形称为正方形。
(2) 常用方法

方法描述
Rectangle()
Rectangle(double width, double height)
Rectangle(double width, double height, Paint fill)
Rectangle(double x, double y, double width, double height)
构造方法。
xProperty()
setX(double value)
getX()
获取或设置左上角的 X 坐标
yProperty()
setY(double value)
getY()
获取或设置左上角的 Y 坐标
widthProperty()
setWidth(double value)
getWidth()
获取或设置矩形的宽度
heightProperty()
setHeight(double value)
getHeight()
获取或设置矩形的高度
arcWidthProperty()
setArcWidth(double value)
getArcWidth()
获取或设置矩形四个角处圆弧的水平直径
arcHeightProperty()
setArcHeight(double value)
getArcHeight()
获取或设置矩形四个角圆弧的垂直直径
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        Rectangle rectangle1=new Rectangle(10,10,100,100);
        rectangle1.setFill(Color.LIGHTGREEN);
        rectangle1.setArcHeight(50);
        rectangle1.setArcWidth(50);
        Rectangle rectangle2=new Rectangle(30,30,100,100);
        rectangle2.setFill(Color.YELLOWGREEN);
        rectangle2.setArcHeight(50);
        rectangle2.setArcWidth(50);
        Pane  flowPane = new Pane(rectangle1,rectangle2);

(4) 界面示例
在这里插入图片描述

2.5.2 Circle 圆形

(1) 说明
        Circle圆是距离固定点(圆心)固定距离(圆的半径)的所有点的轨迹。 换句话说,圆是形成闭环的线,每个点与中心点之间的距离是固定的。
(2) 常用方法

方法描述
Circle(double radius)
Circle(double radius, Paint fill)
Circle()
Circle(double centerX, double centerY, double radius)
centerXProperty()
setCenterX(double value)
getCenterX()
圆点x坐标
centerYProperty()
setCenterY(double value)
getCenterY()
圆点y坐标
radiusProperty()
setRadius(double value)
getRadius()
半径
(3) 代码示例
        Circle circle1 = new Circle(80, 80, 50, Color.LIGHTGREEN);
        Circle circle2 = new Circle(100, 100, 50, Color.YELLOWGREEN);
        Pane flowPane = new Pane(circle1, circle2);

(4) 界面示例
在这里插入图片描述

2.5.3 Line 线

(1) 说明
        Line为直线,由两点组成。
(2) 常用方法

方法描述
:–:–
Line()
Line(double startX, double startY, double endX, double endY)
构造方法。
startXProperty()
setStartX(double value)
getStartX()
直线的开始x坐标
startYProperty()
setStartY(double value)
getStartY()
直线的开始y坐标
endXProperty()
setEndX(double value)
getEndX()
直线的结束x坐标
endYProperty()
setEndY(double value)
getEndY()
直线的结束y坐标

(3) 代码示例

        Pane pane = new Pane();
        Line line;
        for (int i = 0; i < 360; i+=10) {
            line = new Line(50,50,50,150);
            line.setRotate(i/Math.PI*180);//旋转角度
            line.setLayoutX(i/2);//x轴偏移量
            line.setLayoutY(i/5);//y轴偏移量
            pane.getChildren().add(line);
        }

(4) 界面示例
在这里插入图片描述

2.5.4 Arc 弧

(1) 说明
        圆弧是圆或椭圆圆周的一部分。
(2) 常用方法

方法描述
Arc()
Arc(double centerX, double centerY,
        double radiusX, double radiusY,
        double startAngle, double length)
构造方法。
centerX、centerY:圆心x、y坐标
radiusX、radiusY:水平、垂直半径
startAngle:弧度开始度数
length:长度。
centerXProperty()
setCenterX(double value)
getCenterX()
圆心x坐标
centerYProperty()
setCenterY(double value)
getCenterY()
圆心y坐标
radiusXProperty()
setRadiusX(double value)
getRadiusX()
水平半径
radiusYProperty()
setRadiusY(double value)
getRadiusY()
垂直半径
startAngleProperty()
setStartAngle(double value)
getStartAngle()
弧线开始度数
lengthProperty()
setLength(double value)
getLength()
长度
typeProperty()
setType(ArcType value)
getType()
设置圆弧类型

(3) 代码示例

        Arc arc1 = new Arc(20, 50, 50, 50, 0, 100);
        arc1.setFill(Color.WHITE);//设置填充颜色
        arc1.setStroke(Color.BLACK);//设置画笔颜色
        arc1.setStrokeWidth(2);//设置画笔宽度
        arc1.setType(ArcType.OPEN);
        Arc arc2 = new Arc(100, 100, 50, 50, 0, 100);
        arc2.setFill(Color.WHITE);//设置填充颜色
        arc2.setStroke(Color.BLACK);//设置画笔颜色
        arc2.setStrokeWidth(2);//设置画笔宽度
        arc2.setType(ArcType.CHORD);
        Arc arc3 = new Arc(200, 150, 50, 50, 0, 100);
        arc3.setFill(Color.WHITE);//设置填充颜色
        arc3.setStroke(Color.BLACK);//设置画笔颜色
        arc3.setStrokeWidth(2);//设置画笔宽度
        arc3.setType(ArcType.ROUND);
        Pane pane = new Pane(arc1,arc2,arc3);

(4) 界面示例
在这里插入图片描述

2.5.5 CubicCurve 三次曲线

(1) 说明
        CubicCurve 为三次曲线。
(2) 常用方法

方法描述
CubicCurve()
CubicCurve(double startX, double startY,
                double controlX1,double controlY1,
                double controlX2, double controlY2,
                double endX, double endY)
构造方法。
startX、startY:开始点坐标。
controlX1、controlY1:第一控制点坐标
controlX2、controlY2:第二控制点坐标
endX、endY:结束点坐标
startXProperty()
setStartX(double value)
getStartX()
开始点x坐标
startYProperty()
setStartY(double value)
getStartY()
开始点y坐标
controlX1Property()
setControlX1(double value)
getControlX1()
第一控制点x坐标
controlY1Property()
setControlY1(double value)
getControlY1()
第一控制点y坐标
controlX2Property()
setControlX2(double value)
getControlX2()
第二控制点x坐标
controlY2Property()
setControlY2(double value)
getControlY2()
第二控制点y坐标
endXProperty()
setEndX(double value)
getEndX()
结束点x坐标
endYProperty()
setEndY(double value)
getEndY()
结束点y坐标

(3) 代码示例

   CubicCurve cubicCurve=new CubicCurve(50,100,10,50,30,40,150,100);
   Pane pane = new Pane(cubicCurve);

(4) 界面示例
在这里插入图片描述

2.5.6 Ellipse 椭圆

(1) 说明
        Ellipse 椭圆由两个点定义,每个点称为焦点。 如果采用椭圆上的任何点,则到焦点的距离之和是恒定的。 椭圆的大小由这两个距离的总和决定。 这些距离的总和等于长轴的长度(椭圆的最长直径)。
(2) 常用方法

方法描述
Ellipse()
Ellipse(double radiusX, double radiusY)
Ellipse(double centerX, double centerY, double radiusX, double radiusY)
构造方法。
centerXProperty()
setCenterX(double value)
getCenterX()
焦点x坐标
centerYProperty()
setCenterY(double value)
getCenterY()
焦点y坐标
radiusXProperty()
setRadiusX(double value)
getRadiusX()
水平半径
radiusYProperty()
setRadiusY(double value)
getRadiusY()
垂直半径

(3) 代码示例

        Ellipse  cubicCurve1=new Ellipse (150,100,100,50);
        cubicCurve1.setFill(Color.YELLOWGREEN);
        Ellipse  cubicCurve2=new Ellipse (150,100,50,100);
        cubicCurve2.setFill(Color.LAWNGREEN);
        Pane pane = new Pane(cubicCurve1,cubicCurve2);

(4) 界面示例
在这里插入图片描述

2.5.7 Polygon 多边形

(1) 说明
        Polygon 多边形可以定义为具有至少三个直边形成环的平面图形。在多边形的情况下,我们主要考虑其边长和内角。三角形、正方形、五边形、六边形等都是多边形。
(2) 常用方法

方法描述
Polygon()
Polygon(double… points)
构造方法。points:成对配置,每对为一个坐标点。
getPoints()获取点集合,可用于添加点坐标

(3) 代码示例

        Polygon polygon = new Polygon(100, 100, 120, 50,20,60,70,70);
        polygon.setFill(Color.YELLOWGREEN);
        Pane pane = new Pane(polygon);

(4) 界面示例
在这里插入图片描述

2.5.8 Polyline 折线

(1) 说明
        PolyLine为折线图。
(2) 常用方法

方法描述
Polyline()
Polyline(double… points)
构造方法。points:成对配置,每对为一个坐标点。
getPoints()获取点集合,可用于添加点坐标

(3) 代码示例

        Polyline  polyline = new Polyline (100, 100, 120, 50,20,60,70,70);
        Pane pane = new Pane(polyline);

(4) 界面示例
在这里插入图片描述

2.5.9 QuadCurve 二次曲线

(1) 说明
        QuadCurve 二次曲线是由二次函数描述的曲线
(2) 常用方法

方法描述
QuadCurve()
QuadCurve(double startX, double startY,
              double controlX, double controlY,
              double endX, double endY)
构造方法。
startXProperty()
setStartX(double value)
setStartX()
开始点x坐标
startYProperty()
setStartY(double value)
getStartY()
开始点y标
controlXProperty()
setControlX(double value)
getControlX()
控制点x坐标
controlYProperty()
setControlY(double value)
getControlY()
控制点y坐标
endXProperty()
setEndX(double value)
getEndX()
结束点x坐标
endYProperty()
setEndY(double value)
getEndY()
结束点y坐标

(3) 代码示例

        QuadCurve quadCurve = new QuadCurve(50,100,100,0,150,100);
        quadCurve.setFill(Color.YELLOWGREEN);
        Pane pane = new Pane(quadCurve);

(4) 界面示例
在这里插入图片描述

2.5.10 Text 文本

(1) 说明
        Text 文本控件使用的字体、文本大小、字体装饰和许多其他内容。
(2) 常用方法

方法描述
Text()
Text(String text)
Text(double x, double y, String text)
构造方法。
textProperty()
setText(String value)
getText()
获取或者设置文本
xProperty()
setX(double value)
getX()
获取或设置x坐标
yProperty()
setY(double value)
getY()
获取或设置y坐标
fontProperty()
setFont(Font value)
getFont()
获取或设置字体
textOriginProperty()
setTextOrigin(VPos value)
getTextOrigin()
本地坐标中定义文本坐标系统的原点。
boundsTypeProperty()
setBoundsType(TextBoundsType value)
getBoundsType()
确定如何计算文本节点的边界。
wrappingWidthProperty()
setWrappingWidth(double value)
getWrappingWidth()
定义文本的宽度约束,像素,而不是字形或字符数。
underlineProperty()
setUnderline(boolean value)
isUnderline()
下划线
strikethroughProperty()
setStrikethrough(boolean value)
isStrikethrough()
删除线
textAlignmentProperty()
setTextAlignment(TextAlignment value)
getTextAlignment()
文本对齐方式
lineSpacingProperty()
setLineSpacing(double spacing)
getLineSpacing()
行间距
baselineOffsetProperty()
getBaselineOffset()
“字母”(或罗马)基线偏移量。
fontSmoothingTypeProperty()
setFontSmoothingType(FontSmoothingType value)
getFontSmoothingType()
指定请求的字体平滑类型:灰色或LCD。边界框的宽度由最宽的行定义。
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        Text text = new Text (100,50,"文本");
        text.setTextAlignment(TextAlignment.RIGHT);
        text.setTextOrigin(VPos.TOP);//指定以文本顶部为定位点
        text.setFont(new Font(50));
        text.setStrikethrough(true);
        text.setUnderline(true);
        Pane pane = new Pane(text);

(4) 界面示例
在这里插入图片描述

2.5.11 LabeledText 可复制文本

(1) 说明
        
(2) 常用方法

方法描述

(3) 代码示例


(4) 界面示例

2.5.12 Path 路径

(1) 说明
        可通过直线、弧度、二次曲线、三次曲线等路径绘制图形。
(2) 常用方法

方法描述
Path()
Path(PathElement… elements)
Path(Collection<? extends PathElement> elements)
构造方法。
setFillRule(FillRule value)
getFillRule()
fillRuleProperty()定义填充规则常数,用于确定路径的内部。
getElements()获取路径元素,可用于设置路径元素。

(3) 代码示例

        Path path=new Path();
        path.getElements().add(new MoveTo(50, 50));//起始点
        path.getElements().add(new LineTo(70, 30));//画直线
        path.getElements().add(new HLineTo(100));//画水平线
        path.getElements().add(new VLineTo(100));//画垂直线
        path.getElements().add(new ArcTo(10,10,1,50,50,false,true));//画弧线

(4) 界面示例
在这里插入图片描述

2.5.13 SVGPath SVG路径

(1) 说明
        SVGPath可以通过解析SVG路径来构造图像。
(2) 常用方法

方法描述
SVGPath()构造方法。
fillRuleProperty()
setFillRule(FillRule value)
getFillRule()
定义填充规则常数,用于确定路径的内部。
contentProperty()
setContent(String value)
getContent()
定义指定的SVG路径编码字符串

(3) 代码示例

        SVGPath svgPath=new SVGPath();
        svgPath.setContent("M 10 80 C 40 10, 65 10, 95 80 S 150 150, 180 80");
        svgPath.setFillRule(FillRule.EVEN_ODD);
        Pane pane = new Pane( svgPath);

(4) 界面示例
在这里插入图片描述

2.6 3D组件

2.6.1 Box - 长方体

(1) 说明
        Box 长方体是三维或实心形状。 长方体由6个矩形制成,它们以直角放置。
(2) 常用方法

方法描述
Box()
Box(double width, double height, double depth)
构造方法
depthProperty()
setDepth(double value)
getDepth()
盒子的深度
heightProperty()
setHeight(double value)
getHeight()
盒子的高度
widthProperty()
setWidth(double value)
getWidth()
框的宽度

(3) 代码示例

        Box box=new Box (100,100,100);
        box.setLayoutY(100);//纵向偏移量
        box.setLayoutX(100);//水平偏移量
        Group pane = new Group( box);

(4) 界面示例
在这里插入图片描述

2.6.2 Cylinder - 圆柱体

(1) 说明
        Cylinder 圆柱体可以定义为一个三维立体物体,它有两个平行的圆形基础,由一个曲面连接起来。描述圆柱体有两个主要参数,即曲面的高度和圆底的半径。
(2) 常用方法

方法描述
Cylinder()
Cylinder (double radius, double height)
Cylinder (double radius, double height, int divisions)
构造方法。
heightProperty()
setHeight(double value)
getHeight()
高度
radiusProperty()
setRadius(double value)
getRadius()
半径
getDivisions()用于生成此圆柱体的分度属性。

(3) 代码示例

        Cylinder cylinder=new Cylinder (50,100);
        cylinder.setLayoutY(100);//纵向偏移量
        cylinder.setLayoutX(100);//水平偏移量
        Group pane = new Group( cylinder);

(4) 界面示例
在这里插入图片描述

2.6.3 Sphere - 球体

(1) 说明
        
(2) 常用方法

方法描述

(3) 代码示例

        Sphere sphere = new Sphere(50);
        sphere.setLayoutY(100);//纵向偏移量
        sphere.setLayoutX(100);//水平偏移量
        Group pane = new Group(sphere);

(4) 界面示例
在这里插入图片描述

2.6.4 ParallelCamera - 并行照相机

(1) 说明
        
(2) 常用方法

方法描述

(3) 代码示例

        Group root = new Group();
        ParallelCamera camera = new ParallelCamera();
        camera.setNearClip(0.1);
        camera.setFarClip(2000.0);
        Scene scene = new Scene(root, 300, 200);
        scene.setCamera(camera);

(4) 界面示例

2.6.5 PerspectiveCamera - 透视照相机

(1) 说明
        
(2) 常用方法

方法描述
PerspectiveCamera()
PerspectiveCamera(boolean fixedEyeAtCameraZero)
构造方法。
isFixedEyeAtCameraZero()在默认相机中,fixedEyeAtCameraZero为假,眼睛位置的Z值在Z中被调整
fieldOfViewProperty()
setFieldOfView(double value)
getFieldOfView()
指定摄像机投影平面的视场角度,以度为单位。
verticalFieldOfViewProperty()
setVerticalFieldOfView(boolean value)
isVerticalFieldOfView()
定义fieldOfView属性是否应用于投影平面的垂直维度。如果为false, fieldOfView将应用于投影平面的水平维度。

(3) 代码示例

        Group root = new Group();
        PerspectiveCamera  camera = new PerspectiveCamera();
        camera.setNearClip(0.1);
        camera.setFarClip(2000.0);
        Scene scene = new Scene(root, 300, 200);
        scene.setCamera(camera);

2.6.6 PointLight - 点光源

(1) 说明
         PointLight是空间中的固定光源,可全方位辐射光。
(2) 常用方法

方法描述
PointLight()
PointLight(Color color)
构造方法。

(3) 代码示例

        PointLight pointlight = new PointLight();
        Sphere sphere = new Sphere(40.0f);
        sphere.setTranslateX(80);
        sphere.setTranslateY(80);
        Button button=new Button("切换");
        Group group=new Group(sphere,pointlight,button);
        button.setOnAction(e->{
            pointlight.setLightOn(!pointlight.isLightOn());
        });
        Pane pane = new Pane(group);

(4) 界面示例
在这里插入图片描述

2.6.7 AmbientLight - 来自各个方向光源

(1) 说明
        AmbientLight为一个来自各个方向的光源。
(2) 常用方法

方法描述
AmbientLight()
AmbientLight(Color color)
构造方法。

(3) 代码示例

        AmbientLight ambientLight = new AmbientLight();
        Sphere sphere = new Sphere(80.0f);
        sphere.setTranslateX(100);
        sphere.setTranslateY(100);
        Button button=new Button("切换");
        Group group=new Group(sphere,ambientLight,button);
        button.setOnAction(e->{
            ambientLight.setLightOn(!ambientLight.isLightOn());
        });
        Pane pane = new Pane(group);

(4) 界面示例
在这里插入图片描述

2.7 特殊组件

2.7.1 FileChooser - 文件选择器

(1) 说明
        FileChooser是一个对话框,用户可以通过文件浏览器从本地计算机选择一个或多个文件。
(2) 常用方法

方法描述
titleProperty()
setTitle(String value)
getTitle()
弹窗标题
initialDirectoryProperty()
setInitialDirectory(File value)
getInitialDirectory()
显示文件对话框的初始目录。
initialFileNameProperty()
setInitialFileName(String value)
getInitialFileName()
显示对话框的初始文件名。
getExtensionFilters()获取扩展名过滤器,用于筛选文件
selectedExtensionFilterProperty()
setSelectedExtensionFilter(ExtensionFilter filter)
getSelectedExtensionFilter()
扩展名过滤器配置
showOpenDialog(Window ownerWindow)显示一个新的文件打开对话框。
showOpenMultipleDialog(Window ownerWindow)显示一个新的批量文件打开对话框。
showSaveDialog(final Window ownerWindow)显示一个新的文件保存对话框。

(3) 代码示例

        Button button=new Button("选文件");
        button.setOnAction(e->{
            FileChooser fileChooser=new FileChooser();
            fileChooser.setInitialDirectory(new File("D:\\图片\\javafx"));
            fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("请选择图片","*.jpg","*.png"));
            fileChooser.setTitle("请选择文件");
            fileChooser.showOpenDialog(primaryStage);
        });
        Pane pane = new Pane( button);

(4) 界面示例
在这里插入图片描述

2.7.2 canvas - 画布

(1) 说明
        
(2) 常用方法

方法描述

(3) 代码示例


(4) 界面示例

2.7.3 SwingNode - 嵌入Swing组件

(1) 说明
        SwingNode 可以在JavaFX应用程序中嵌入Swing组件。
(2) 常用方法

方法描述
SwingNode()构造方法。
setContent(JComponent content)
getContent()
添加Swing组件
resize(final double width, final double height)调整大小

(3) 代码示例

        SwingNode swingNode=new SwingNode();
        swingNode.setContent(new JButton("Swing按钮"));
        Pane pane = new Pane(swingNode);

(4) 界面示例
在这里插入图片描述

2.7.4 Tooltip - 工具提示组件

(1) 说明
        Tooltip控件,它可以设置给任何UI控件,当鼠标移动到该控件上时Tooltip就会显示。
(2) 常用方法

方法描述
Tooltip()
Tooltip(String text)
构造方法。
install(Node node, Tooltip t)
uninstall(Node node, Tooltip t)
绑定与解绑提示框
textProperty()
setText(String value)
getText()
显示文本
textAlignmentProperty()
setTextAlignment(TextAlignment value)
对齐方式
textOverrunProperty()
setTextOverrun(OverrunStyle value)
getTextOverrun()
工具提示的文本超出呈现文本的可用空间时使用的行为。
wrapTextProperty()
setWrapText(boolean value)
isWrapText()
如果文本的运行超出了工具提示的宽度,则此变量指示文本是否应该换行到另一行。
fontProperty()
setFont(Font value)
getFont()
提示文本字体
showDelayProperty()
setShowDelay(Duration showDelay)
getShowDelay()
鼠标进入悬停节点和向用户显示相关工具提示之间的延迟。默认延迟为1000ms。
showDurationProperty()
setShowDuration(Duration showDuration)
getShowDuration()
工具提示应该保持显示的持续时间,直到它不再对用户可见。
hideDelayProperty()
setHideDelay(Duration hideDelay)
getHideDelay()
鼠标离开节点后继续显示工具提示的持续时间。一旦过了这个时间,工具提示将被隐藏。缺省值是200ms。
graphicProperty()
setGraphic(Node value)
getGraphic()
工具提示的可选图标。
contentDisplayProperty()
setContentDisplay(ContentDisplay value)
getContentDisplay()
指定图形相对于文本的位置。
graphicTextGapProperty()
setGraphicTextGap(double value)
getGraphicTextGap()
图形和文本之间的空间量
activatedProperty()
isActivated()
当鼠标移动到控件上时,工具提示被“激活”。
getClassCssMetaData()
getCssMetaData()
获取类Css元数据

(3) 代码示例

        Label label = new Label("文本");
        Tooltip tooltip = new Tooltip("提示");
        tooltip.setFont(new Font(20));
        label.setTooltip(tooltip);
        Pane pane = new Pane(label);

(4) 界面示例
在这里插入图片描述

2.7.5 Group - 容器组

(1) 说明
        Group容器的子节点放在一个可观察列表中,显示时按顺序呈现。一个Group容器的大小由子节点决定,并且不能直接调整大小。对Group容器的任何变换,特效和渲染都将应用于它的所有子节点。
(2) 常用方法

方法描述
Group()
Group(Node… children)
Group(Collection<Node> children)
构造方法。
autoSizeChildrenProperty()
setAutoSizeChildren(boolean value)
isAutoSizeChildren()
是否自动调节子节点大小
getChildren()获取子节点集合

(3) 代码示例

        Group group=new Group();
        group.getChildren().add(new Circle(50,50,40,Color.CADETBLUE));
        group.getChildren().add(new Circle(50,50,20,Color.LAWNGREEN));
        Pane pane = new Pane(group);

(4) 界面示例
在这里插入图片描述

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑重其事,鹏程万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值