griffonアプリでは、チェックボックスを選択できますが、[送信]をクリックすると、JOptionPaneウィンドウに値が空白で表示されます。私が間違っているかもしれないことについて何か考えはありますか?
これが私のモデルコードです:
================================================== ================================
package test1
import groovy.beans.Bindable
class Test1Model {
@Bindable String deviceType
List deviceTypes = [
[title: 'No Devices', selected: true, devices: []],
[title: 'Android Tablets', selected: false,
devices: [
[name: 'Asus Transformer Prime #1', selected: false],
[name: 'Asus Transformer Prime #2', selected: false],
[name: 'Motorola Xoom #1', selected: false],
[name: 'Motorola Xoom #2', selected: false],
[name: 'Sony S Tablet #1', selected: false],
[name: 'Sony S Tablet #2', selected: false]
]
],
[title: 'Android Phones', selected: false,
devices: [
[name: 'Nexus 7 #1', selected: false],
[name: 'Nexus 7 #2', selected: false],
[name: 'HTC Droid Eris', selected: false],
[name: 'HTC EVO 4G LTE', selected: false],
[name: 'Samsung Galaxy Nexus #1', selected: false],
[name: 'Samsung Galaxy Nexus #2', selected: false],
[name: 'Droid Razr Maxx #1', selected: false],
[name: 'Droid Razr Maxx #2', selected: false],
[name: 'Samsung Galaxy S2', selected: false]
]
],
[title: 'iOS Devices', selected: false,
devices: [
[name: 'iPad Gen1', selected: false],
[name: 'iPad Gen2', selected: false],
[name: 'iPad Gen3', selected: false],
[name: 'iPod Touch', selected: false]
]
]
]
}
================================================== =======================================
これが私のコントローラーコードです:
package test1
import griffon.transform.Threading
import griffon.util.GriffonNameUtils as GNU
class Test1Controller {
def model
def clear = {
model.griffonClass.propertyNames.each { name ->
model[name] = ''
}
}
@Threading(Threading.Policy.SKIP)
def submit = {
javax.swing.JOptionPane.showMessageDialog(
null, "You have selected: " + model.deviceTypes.devices.grep.{it.selected}
)
println model.deviceTypes.devices.grep.{it.selected = true}
}
}
ありがとう!!
ironmantis7x !!