Tornadofx datepicker()
в основном использует класс java DatePicker
, расположенный в javafx.scene.control.DatePicker.java . DatePicker
продолжается от ComboBoxBase
, поэтому значение всегда является типом LocalDate
.
Чтобы изменить формат, существует метод, определенный в классе DatePicker
с именем setConverter()
, который принимает аргумент, набранный StringConverter
. Это можно сделать с помощью метода LocalDateStringConverter()
, определенного в javafx.util.converter.LocalDateStringConverter.java . Это в основном принимает два аргумента, чтобы получить funtional, и оба являются типом DateTimeFormatter
, первый аргумент для форматирования и второй для синтаксического анализа. Здесь для достижения моей цели я видел, что для получения желаемого результата достаточно одного форматирования.
DateTimeFormatter
- это класс, определенный в java.time.format.DateTimeFormatter.java , который является форматированием для печати и разбора объектов даты и времени. ofPattern()
метод, определенный в нем, принимает строковый шаблон, подобный "dd-MM-yyyy"
, который здесь является моим желаемым. Таким образом, мы можем сделать val dateFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy")
Теперь мы можем применить setConverter(LocalDateStringConverter(dateFormatter, dateFormatter))
, который является вызовом метода java get set ", или мы можем использовать« синтетические свойства Котлина «как converter = LocalDateStringConverter(dateFormatter, dateFormatter)
, что предпочтительнее.
Дается рабочий фрагмент:
datepicker() {
...
val pattern = "dd-MM-yyyy"
val dateFormatter = DateTimeFormatter.ofPattern(pattern)
converter = LocalDateStringConverter(dateFormatter, dateFormatter)
}
Выходной снимок:
Вот элегантный способ решения вашей проблемы с помощью library(purrr)
:
library(tidyverse)
library(curl)
dat <- structure(
list(markerID = c(189307136L, 189307145L, 183337360L),
date = structure(c(17907, 17910, 17910), class = "Date"),
tail = c("https://drive.google.com/uc?export=download&id=13S9s_j6acfndEz4HbpG-v2ZRyT8LLgji",
"https://drive.google.com/uc?export=download&id=19XpBTLws94wtCtgPF6oXKM_GZ_cV4oMf",
"https://drive.google.com/uc?export=download&id=1I5zA8tJdEv26EzI9rwBSN5tVsASyT4Cl"),
frontPop = c("https://drive.google.com/uc?export=download&id=1lJgl3hin9sWQcV40aJgdYPQM6jzch2Lb",
"https://drive.google.com/uc?export=download&id=1QdB1KmyHrlKkTlux0fkyI1Aw-Pe15sYF",
"https://drive.google.com/uc?export=download&id=1xqNT9CPVfMj2ksxqMONGbWXyJKaKtLuR"),
backPop = c("https://drive.google.com/uc?export=download&id=1YAe4S7_LIrLsbOW2qCBuWjyOr_SgT54T",
"https://drive.google.com/uc?export=download&id=1QOC8rPDjWfy6PVSaXFycf4jDyUnV-Vbv",
"https://drive.google.com/uc?export=download&id=1Gyo4lXgp0nXbsdd0jA_kk1m2jW8RGGIY")),
class = c("tbl_df", "tbl", "data.frame"),
row.names = c(NA, -3L))
read_and_title <- as_mapper(~curl_download(url = ..4,
destfile = paste0(..1,"_",..2,"_",..3,".png")))
dat %>%
gather(key = "photo_type", value = "url", 3:5) %>%
pmap_chr(read_and_title)
#> [1] "189307136_17907_tail.png" "189307145_17910_tail.png"
#> [3] "183337360_17910_tail.png" "189307136_17907_frontPop.png"
#> [5] "189307145_17910_frontPop.png" "183337360_17910_frontPop.png"
#> [7] "189307136_17907_backPop.png" "189307145_17910_backPop.png"
#> [9] "183337360_17910_backPop.png"
Создано в 2019-01-18 с помощью пакета представитель (v0.2.1 ) SUP>