gpt4 book ai didi

java - SwingBuilder : scrollPane

转载 作者:行者123 更新时间:2023-12-02 08:37:07 31 4
gpt4 key购买 nike

使用 groovy 的 SwingBuilder 设置滚动 Pane 的正确方法是什么?我正在使用 griffon,但我很难动态添加和删除组件...

这是我在 SwingPad 中尝试过的一个片段。它工作正常,但如果我的滚动 Pane 有滚动条,删除才会立即生效。如果没有,则需要 4-5 秒。

这是片段:

import java.awt.Dimension

panel(id:'main') {
panel {
button(name:'x', action: action(name:'add', closure:{p.add(label('new')); main.revalidate()}))
button(action: action(name:'remove', closure:{p.removeAll();main.revalidate()}))
}

panel() {
scrollPane(preferredSize: [200,200], constraints: context.CENTER) {
panel(id:'p') {
checkBoxList(listData: (1..20).collect([]){"Option $it"} as Object[])

}
}
}
}

最佳答案

看起来这是一个重画问题,因为这似乎有效:

  panel(id:'main') {
panel {
button(name:'x', action: action(name:'add', closure:{p.add(label('new')); p.revalidate()}))
button(action: action(name:'remove', closure:{p.removeAll();p.revalidate();scroll.repaint()}))
}

panel() {
scrollPane(id:'scroll',preferredSize: [200,200], constraints: context.CENTER) {
panel(id:'p') {
checkBoxList(listData: (1..20).collect([]){"Option $it"} as Object[])
}
}
}
}

关于java - SwingBuilder : scrollPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1288602/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com