166 lines
2.5 KiB
Java
166 lines
2.5 KiB
Java
package com.imyeyu.fx.utils;
|
|
|
|
import javafx.geometry.VPos;
|
|
import javafx.scene.layout.Priority;
|
|
import javafx.scene.layout.RowConstraints;
|
|
|
|
/**
|
|
* GridPane 行属性构造
|
|
*
|
|
* @author 夜雨
|
|
* @since 2021-12-17 23:45
|
|
*/
|
|
public class Row extends RowConstraints {
|
|
|
|
/**
|
|
* 默认构造器({@link #build(VPos)} 静态构造)
|
|
*
|
|
* @param align 垂直对齐方式
|
|
*/
|
|
private Row(VPos align) {
|
|
setValignment(align);
|
|
}
|
|
|
|
/**
|
|
* 设置最小高度
|
|
*
|
|
* @param minHeight 最小高度
|
|
* @return 本实例
|
|
*/
|
|
public Row min(double minHeight) {
|
|
setMinHeight(minHeight);
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 设置最大高度
|
|
*
|
|
* @param maxHeight 最大高度
|
|
* @return 本实例
|
|
*/
|
|
public Row max(double maxHeight) {
|
|
setMaxHeight(maxHeight);
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 设置高度
|
|
*
|
|
* @param height 高度
|
|
* @return 本实例
|
|
*/
|
|
public Row height(double height) {
|
|
setPrefHeight(height);
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 以百分比设置高度
|
|
*
|
|
* @param percentHeight 高度
|
|
* @return 本实例
|
|
*/
|
|
public Row percentHeight(double percentHeight) {
|
|
setPercentHeight(percentHeight);
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 保持子组件高度填充
|
|
*
|
|
* @return 本实例
|
|
*/
|
|
public Row fill() {
|
|
setFillHeight(true);
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 子组件高度不需填充
|
|
*
|
|
* @return 本实例
|
|
*/
|
|
public Row notFill() {
|
|
setFillHeight(false);
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 顶部对齐
|
|
*
|
|
* @return 本实例
|
|
*/
|
|
public Row top() {
|
|
setValignment(VPos.TOP);
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 居中对齐
|
|
*
|
|
* @return 本实例
|
|
*/
|
|
public Row center() {
|
|
setValignment(VPos.CENTER);
|
|
return this;
|
|
}
|
|
/**
|
|
* 底部对齐
|
|
*
|
|
* @return 本实例
|
|
*/
|
|
public Row bottom() {
|
|
setValignment(VPos.BOTTOM);
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 行高总是保持跟随容器尺寸变化
|
|
*
|
|
* @return 本实例
|
|
*/
|
|
public Row alwaysPriority() {
|
|
setVgrow(Priority.ALWAYS);
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 行高总是不保持跟随容器尺寸变化
|
|
*
|
|
* @return 本实例
|
|
*/
|
|
public Row neverPriority() {
|
|
setVgrow(Priority.NEVER);
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 行高不受其他行影响时可跟随容器尺寸变化
|
|
*
|
|
* @return 本实例
|
|
*/
|
|
public Row sometimesPriority() {
|
|
setVgrow(Priority.SOMETIMES);
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* 静态构造行属性对象
|
|
*
|
|
* @return 行属性对象
|
|
*/
|
|
public static Row build() {
|
|
return new Row(VPos.CENTER);
|
|
}
|
|
|
|
/**
|
|
* 静态构造行属性对象
|
|
*
|
|
* @param align 垂直对齐方式
|
|
* @return 本实例
|
|
*/
|
|
public static Row build(VPos align) {
|
|
return new Row(align);
|
|
}
|
|
}
|