/**
*
*/
package org.hyperdata.scute.sparql.table;
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.FocusListener;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.TableModel;
import com.hp.hpl.jena.query.ResultSet;
import com.hp.hpl.jena.rdf.model.RDFNode;
//import org.hdesktop.swingx.JXTable;
import org.jdesktop.swingx.*;
import org.jdesktop.swingx.action.*;
import org.jdesktop.swingx.MultiSplitLayout.*;
/**
* @author danny
*
*/
public class TableResultsPane extends JPanel {
private JXTable table;
private ResultSetTableModel tableModel; // recreated with every set of interesting results, kept for clearing
public TableResultsPane() {
super(new BorderLayout());
table = new JXTable();
table.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 12));
table.setDragEnabled(true);
// TODO fix renderer
// table.setDefaultRenderer(Object.class, new ResultsTableCellRenderer());
//table.setEditable(true);
add(new JScrollPane(table), BorderLayout.CENTER);
}
public void addFocusListener(FocusListener focusListener) {
table.addFocusListener(focusListener);
}
public void setResults(ResultSet resultSet) {
tableModel = new ResultSetTableModel(resultSet);
table.setModel(tableModel);
table.validate(); // is enough?
}
/**
*
*/
public void clear() {
tableModel.clear();
table.validate(); // is enough?
}
}