В Scala вы можете использовать implicits для добавления методов isEmpty()
и nonEmpty()
в API DataFrame, что сделает код более приятным для чтения.
object DataFrameExtensions {
implicit def extendedDataFrame(dataFrame: DataFrame): ExtendedDataFrame =
new ExtendedDataFrame(dataFrame: DataFrame)
class ExtendedDataFrame(dataFrame: DataFrame) {
def isEmpty(): Boolean = {
Try{dataFrame.first.length != 0} match {
case Success(_) => false
case Failure(_) => true
}
}
def nonEmpty(): Boolean = !isEmpty
}
}
Здесь другие методы также могут быть добавлены. Чтобы использовать неявное преобразование, используйте import DataFrameExtensions._
в файле, который вы хотите использовать расширенную функциональность. Впоследствии методы могут использоваться непосредственно так:
val df: DataFrame = ...
if (df.isEmpty) {
// Do something
}
Вы можете просто установить свойство «minWidth» для Button
использовать «предпочтительный размер».
Это определит оптимальную ширину Button
(на основе содержимого, которое в вашем случае является текстом «Поиск») и гарантирует, что он никогда не сжимается ниже этого:
searchButton.setMinWidth(Region.USE_PREF_SIZE);
Это выполнит вашу задачу без необходимости жесткого кодирования определенного размера для кнопки.
Region.USE_PREF_SIZE
является просто константой для-1.0D / 0.0
. Таким образом, это эквивалент использованияsearchButton.setMinWidth(-1.0D / 0.0). When running
searchButton.getPrefWidth (), you get
-1.0`. Так или иначе, деление на 0 - вот что делает трюк. Для меня это загадка. – Zephyr 14 July 2018 в 05:25searchButton.setMinWidth(searchButton.getPrefWidth() / 0.0)
, работает ... – Zephyr 14 July 2018 в 05:27