-------------------------
import javax.swing.*; import groovy.swing.SwingBuilder; import javax.swing.table.*; import javax.swing.event.*; import java.awt.event.*; def data =[ [nick: 'MrG',full: 'Guillaume Laforge'],[nick: 'jez',full: 'Jeremy Rayner'],[nick: 'fraz',full: 'Franck Rasolo'],[nick: 'sormuras',full: 'Christian Stein'],[nick: 'blackdrag',full: 'Jochen Theodorou'],[nick: 'Mittie',full:true] ] def swing = new SwingBuilder(); def frame = swing.frame(title: 'Table Demo',defaultCloseOperation: JFrame.DISPOSE_ON_CLOSE) { vbox { scrollPane { tab = table { editing: true; model = tableModel(list: data) { propertyColumn(header: 'Nickname',propertyName: 'nick'); propertyColumn(header: 'Full Name',propertyName: 'full',editable:false); } } } button() { action(name: '打印model的内容') { println(model.rows); //println(tab.cellEditor.getTableCellEditorComponent()); //println(tab.editorComponent); } } } } frame.pack(); frame.show(); //model.getRows().add([nick:'李',full:'李某某']); model.rows.add([nick: '李',full: '李某某']); tab.updateUI(); //model.rows.clear(); //tab.updateUI(); /* tab.getSelectionModel().addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent event) { println event; } } ); model.addTableModelListener( new TableModelListener() { public void tableChanged(TableModelEvent event) { println event; println "yes"; } } ) */ //监听JTable的鼠标事件 /* tab.addMouseListener( new MouseAdapter() { public void mouseClicked(MouseEvent event) { //println event; //groovy.inspect.swingui.ObjectBrowser.inspect(event); //println "yes"; def tab = event.component; tab.setValueAt(!tab.getValueAt(tab.getSelectedRow(),tab.getSelectedColumn()),tab.getSelectedRow(),tab.getSelectedColumn()); tab.updateUI(); } } ); */ /* //监听JTable的键盘事件 tab.addKeyListener( new KeyAdapter() { public void keyPressed(KeyEvent event) { //groovy.inspect.swingui.ObjectBrowser.inspect(event); } } ); */
propertyColumn(header: 'Full Name' , propertyName: 'full' ,editable: false );
-------------------------
fieldsTable = table() { //editing:true; //tableColumn(headerValue: "字段名"); //tableColumn(headerValue: "类型"); fieldsTableModel = tableModel(list: data) { propertyColumn(header: "字段名",propertyName: "field",editable: false); propertyColumn(header: "类型",propertyName: "type",editable: false); propertyColumn(header: "可见",propertyName: "visible",editable: false); //tableModel(list:[[field:"auto_id",type:'int']]); closureColumn ( header: 'Location',read: {row -> println row;return 1;},write: {row,newValue -> println "write: $row new value: $newValue"} ) } }
-------------------------
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。