我在阅读javafx区域在线文档时遇到了minwidth(forheight)、minheight(forwidth)、getprefwidth(forheight)、getprefheight(forwidth)、getmaxwidth(forheight)、getmaxheight(forwidth)等。基本上是以高换宽或以宽换高。我不知道这是什么意思。例如,minwidth(for height)是什么意思?为什么里面有一个带forheight的圆括号?任何帮助或解释将不胜感激!
dddzy1tm1#
你可以在表格中找到答案 Region::minWidth javdoc公司:
Region::minWidth
public final double minWidth(double height)
在布局期间调用以确定此节点的最小宽度。从返回值 computeMinWidth(forHeight) 除非应用程序通过设置minwidth属性覆盖最小宽度。假设您有一个控件,您希望默认显示在不小于16:9显示比例的区域中,然后 computeMinWidth 可能是:
computeMinWidth(forHeight)
computeMinWidth
protected double computeMinWidth(double height) { return height * 16 / 9; }
您不需要提供 minWidth(height) 因为默认实现已经足够并将调用您的自定义 computeMinWidth(height) 功能。背景信息除非您正在编写自己的布局处理代码(通常通过扩展 Region 和覆盖 layoutChildren() ),您不可能每次都使用 Region::minWidth 方法。正如javadoc区域中所提到的,重写更为常见 computePrefWidth(height) 在编写自己的布局代码时 layoutChildren() 方法调用 prefWidth() 方法。请注意,除非编写自己的控件,否则编写自己的布局处理代码并不常见。通常,使用现有的布局窗格并在其上设置适当的约束就足够了,并且不需要对自己的布局区域进行编码。如果考虑到插入和捕捉像素之类的因素,编写自己的布局区域可能会变得复杂,因此通常不值得麻烦,因为内置的布局窗格和控件实现会自动处理这些复杂的问题。
minWidth(height)
computeMinWidth(height)
Region
layoutChildren()
computePrefWidth(height)
prefWidth()
1条答案
按热度按时间dddzy1tm1#
你可以在表格中找到答案
Region::minWidth
javdoc公司:在布局期间调用以确定此节点的最小宽度。从返回值
computeMinWidth(forHeight)
除非应用程序通过设置minwidth属性覆盖最小宽度。假设您有一个控件,您希望默认显示在不小于16:9显示比例的区域中,然后
computeMinWidth
可能是:您不需要提供
minWidth(height)
因为默认实现已经足够并将调用您的自定义computeMinWidth(height)
功能。背景信息
除非您正在编写自己的布局处理代码(通常通过扩展
Region
和覆盖layoutChildren()
),您不可能每次都使用Region::minWidth
方法。正如javadoc区域中所提到的,重写更为常见computePrefWidth(height)
在编写自己的布局代码时layoutChildren()
方法调用prefWidth()
方法。请注意,除非编写自己的控件,否则编写自己的布局处理代码并不常见。通常,使用现有的布局窗格并在其上设置适当的约束就足够了,并且不需要对自己的布局区域进行编码。如果考虑到插入和捕捉像素之类的因素,编写自己的布局区域可能会变得复杂,因此通常不值得麻烦,因为内置的布局窗格和控件实现会自动处理这些复杂的问题。