我被扔进了一个落后于计划的桌面应用程序项目,希望我可以让该项目再次进行,但是唉,我对桌面应用程序开发的经验很少。
我的前任似乎知道他在做什么,有点,但从未设法完成任何事情,所以我只能努力修补混乱并将项目推出门外。
该应用程序使用 Griffon 作为框架,使用 MigLayout 作为布局管理器,我想我掌握了其中的大部分内容,但我无法弄清楚如何获得规范所需的增长行为。
这是我正在使用的视图:
application(title: 'MyApp',
preferredSize: [320, 240],
pack: true,
locationByPlatform: true,
iconImage: imageIcon('/griffon-icon-48x48.png').image,
iconImages: [imageIcon('/griffon-icon-48x48.png').image,
imageIcon('/griffon-icon-32x32.png').image,
imageIcon('/griffon-icon-16x16.png').image]) {
panel(layout: new MigLayout()) {
label 'Root Directory:', constraints: 'split, span'
textField text: 'Put RootDir here', constraints: 'growx'
button 'Dialog', constraints: 'wrap'
label 'To be Processed:'
button 'Go button', constraints: 'spany 3'
label 'Processed:', constraints: 'wrap'
scrollPane(constraints: 'center, grow') {
list listData: (1..20).collect { "Very Long Line $it" }
}
scrollPane(constraints: 'center, grow, wrap') {
list listData: (1..5).collect { "Line $it" }
}
label 'info about files'
label 'info about files', constraints: 'wrap'
progressBar constraints: 'span, growx, wrap'
progressBar constraints: 'span, growx'
}
}
当我将窗口拖得更大时,顶部的文本字段和底部的两个进度条应该拉伸以水平填充空间,并且两个列表应该在两个方向上拉伸。其余元素的大小应保持不变。
无论我尝试什么,如果我将它的columns
属性设置得非常大,我只能让顶部文本框拉伸,即使那样它也只会显示那么多列,而不是更大。
列表也不会垂直增长,我能得到的最好的方法是让右列表增长到某个未知的大小,然后左列表会增长。
进度条将增长到与包含面板一样大,如果我可以让包含面板填满整个窗口,这很好。
那么,我错过了什么关键部分?我确信这是一些小因素,但无论我多么努力,我似乎都无法让事情正常生长。非常感谢任何帮助。