package test; import java.awt.BorderLayout; import java.awt.Component; import java.util.ArrayList; import java.util.List; import javax.swing.JDialog; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.TableColumn; import com.jidesoft.grid.SortableTable; public class SortableDemo extends JDialog { SortableTableModel model=new SortableTableModel(); SortableTable table=new SortableTable(model); SortableDemo(){ init(); buildPanel(); } private void buildPanel() { JPanel panel=new JPanel(new BorderLayout()); JScrollPane pane=new JScrollPane(table); panel.add(pane,BorderLayout.CENTER); add(panel); setSize(200,200); pack(); setVisible(true); } private void init() { List contents=new ArrayList(); contents.add(1); contents.add(2); contents.add(3); contents.add(4); model.update(contents); TableColumn tcol = table.getColumnModel().getColumn(0); tcol.setCellRenderer(new CustomTableCellRenderer()); } public class CustomTableCellRenderer extends DefaultTableCellRenderer{ public Component getTableCellRendererComponent (JTable table, Object obj, boolean isSelected, boolean hasFocus, int row, int column) { Component cell = super.getTableCellRendererComponent( table, obj, isSelected, hasFocus, row, column); if ((Integer)obj==1){ setText("BUY"); }else if((Integer)obj==2){ setText("SELL"); }else if ((Integer)obj==3){ setText("BUY_MINUS"); }else if ((Integer)obj==4){ setText("SELL_MINUS"); } return cell; } } public static void main(String args[]){ SortableDemo demo=new SortableDemo(); } }