【发布时间】:2018-11-26 10:32:38
【问题描述】:
我从这里开始关注 TornadoFX 指南,尝试运行示例向导: Wizard
并且已经实现了如下的附加类 Customer,它没有运行:
package com.example.demo.app
import javafx.beans.property.SimpleIntegerProperty
import javafx.beans.property.SimpleObjectProperty
import javafx.beans.property.SimpleStringProperty
import java.time.LocalDate
import java.time.Period
import tornadofx.*
class Customer(name: String, zip: Int, city: String, type: String) {
val zipProperty = SimpleIntegerProperty(zip)
var zip by zipProperty
val nameProperty = SimpleStringProperty(name)
var name by nameProperty
val cityProperty = SimpleStringProperty(city)
var city by cityProperty
val typeProperty = SimpleStringProperty(type)
var type by typeProperty
}
我如何添加Customer.Type 如此处引用,这些类取自指南:
package com.example.demo.view
import com.example.demo.app.Customer
import com.example.demo.app.CustomerModel
import tornadofx.*
class CustomerWizard : Wizard() {
val customer: CustomerModel by inject()
override val canGoNext = currentPageComplete
override val canFinish = allPagesComplete
init {
add(BasicData::class)
add(AddressInput::class)
}
}
class BasicData : View("Basic Data") {
val customer: CustomerModel by inject()
override val complete = customer.valid(customer.name)
override val root = form {
fieldset(title) {
field("Type") {
combobox(customer.type, Customer.Type.values().toList()) //Customer.Type, what is it?
}
field("Name") {
textfield(customer.name).required()
}
}
}
}
class AddressInput : View("Address") {
val customer: CustomerModel by inject()
override val complete = customer.valid(customer.zip, customer.city)
override val root = form {
fieldset(title) {
field("Zip/City") {
textfield(customer.zip) {
prefColumnCount = 5
required()
}
textfield(customer.city).required()
}
}
}
}
错误如下,让我想知道Type是什么?枚举,类,...? Error:(26, 50) Kotlin: Unresolved reference: Type
【问题讨论】: