📄 tabledemo.groovy
字号:
package groovy.swingimport java.awt.BorderLayoutimport javax.swing.BorderFactory/** * Demonstrates the use of the Groovy TableModels for viewing tables of any List of objects */class TableDemo { // properties def frame def swing static void main(args) { def demo = new TableDemo() demo.run() } void run() { swing = new SwingBuilder() frame = swing.frame(title:'Groovy TableModel Demo', location:[200,200], size:[300,200]) { menuBar { menu(text:'Help') { menuItem() { action(name:'About', closure:{ showAbout() }) } } } panel(layout:new BorderLayout()) { scrollPane(constraints:BorderLayout.CENTER) { table() { def model = [['name':'James', 'location':'London'], ['name':'Bob', 'location':'Atlanta'], ['name':'Geir', 'location':'New York']] tableModel(list:model) { closureColumn(header:'Name', read:{row -> return row.name}) closureColumn(header:'Location', read:{row -> return row.location}) } } } } } frame.show() } void showAbout() { def pane = swing.optionPane(message:'This demo shows how GroovySwing can use Groovy closures to create simple table models') def dialog = pane.createDialog(frame, 'About GroovySwing') dialog.show() }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -