albrechtroehm
02/15/2022, 10:04 AM@Composable
fun ProjectForm(data: Project, updateProject: (Project) -> Unit) {
var dirtyName by remember { mutableStateOf(data.name) }
var dirtyBeginDate by remember { mutableStateOf(data.beginDate.toString()) }
var dirtyEndData by remember { mutableStateOf(data.endDate) }
val datePicker = DatePicker()
Row(Modifier.padding(10.dp)) {
Column {
TextField(
value = dirtyName,
label = { Text("Project name") },
onValueChange = { dirtyName = it },
)
TextField(
value = dirtyBeginDate,
label = { Text("Begin date") },
onValueChange = {},
trailingIcon = {
IconButton(onClick = {
datePicker.togglePopup()
}) {
SwingDatePicker(datePicker)
Icon(
imageVector = Icons.Default.Edit,
contentDescription = "Open Datepicker"
)
}
},
readOnly = true,
)
}
}
}
@Composable
fun SwingDatePicker(datePicker: DatePicker) {
SwingPanel(
background = Color.White,
modifier = Modifier.size(0.dp,0.dp),
factory = {
JPanel().apply {
setLayout(BoxLayout(this, BoxLayout.Y_AXIS))
datePicker.settings.visibleDateTextField = false
add(datePicker)
}
}
)
}val datePicker = DatePicker()
datePicker.addDateChangeListener {
dirtyBeginDate = datePicker.date
visibleBegin = dirtyBeginDate.toString()
}