在这个简单的 gui 列表上进行选择时,我得到 valueChanged 以在鼠标按下时执行两次,在鼠标向上执行一次。
import groovy.swing.SwingBuilder
import java.awt.*
import java.swing.*
import javax.swing.*
def main(){
new SwingBuilder().edt {
frame(title:'Testing', pack:true, show:true) {
vbox {
panel(){
textbox = label(text:'null')
}
panel(){
listing = list(valueChanged:{
mess(listing.selectedValue);// this code runs twice
},
listData: ['test','another','test','and','again'])
}
}
}
}
}
def mess(mytext){
new SwingBuilder().edt {
frame(title:'Message', pack:true, show:true){
vbox {
panel(){
label(text:mytext)
}
}
}
}
}
main();
我已经在stackoverflow上寻找了与此类似的其他问题,但如果它是重复的,我很抱歉,我会删除它,但我不相信它是。我正在尝试做的只是让它在鼠标启动时不执行。