Skip to content

Instantly share code, notes, and snippets.

@kellyrob99
Created September 22, 2012 20:01
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kellyrob99/3767631 to your computer and use it in GitHub Desktop.
Save kellyrob99/3767631 to your computer and use it in GitHub Desktop.
GroovyConsole transforms file with the standard Map example and sortable JTable support for List/Set return values
import javax.swing.*
import javax.swing.table.*
transforms << { result ->
if (result instanceof Map) {
def table = new JTable(
result.collect { k, v ->
[k, v?.inspect()] as Object[]
} as Object[][],
['Key', 'Value'] as Object[])
table.preferredViewportSize = table.preferredSize
return new JScrollPane(table)
}
}
transforms << { result ->
if (result instanceof List || result instanceof Set) {
TableModel model = new DefaultTableModel(result.collect {[it]}as Object[][],
["${result.size()} ${result instanceof Set ? 'unique ' : ''}records"] as Object[])
JTable table = new JTable(model);
table.setRowSorter(new TableRowSorter<TableModel>(model););
table.preferredViewportSize = table.preferredSize
return new JScrollPane(table)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment