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<Integer> contents=new ArrayList<Integer>();
		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();
		
	}

}
