addColumnListener(col, new MagicComparator(4));
  public void createSongTable() {      tblSongs = new Table(shell, SWT.NONE);        TableColumn col = new TableColumn(tblSongs,SWT.LEFT);    col.setWidth(200);    col.setText("Artist");    addColumnListener(col, new MagicComparator(0));        col = new TableColumn(tblSongs,SWT.LEFT);    col.setWidth(200);    col.setText("Track");    addColumnListener(col, new MagicComparator(1));    col = new TableColumn(tblSongs,SWT.LEFT);    col.setWidth(100);    col.setText("Rating");    addColumnListener(col, new MagicComparator(2));    col = new TableColumn(tblSongs,SWT.LEFT);    col.setWidth(50);    col.setText("Plays");    addColumnListener(col, new MagicComparator(3));        col = new TableColumn(tblSongs,SWT.LEFT);    col.setWidth(100);    col.setText("Last");    col.setWidth(150);    tblSongs.setHeaderVisible(true);    synchronizePlaylist(playListManager, tblSongs);    tblSongs.addSelectionListener(new SelectionAdapter(){      public void widgetSelected(SelectionEvent e){        playThread.play(getTrackByTableItem(tblSongs.getSelection()[0]));      }    });    //    for(int i = 0;i< tblSongs.getColumns().length;i++)//      tblSongs.getColumns()[i].pack();        GridData gridData = new GridData();    gridData.horizontalAlignment = GridData.FILL;    gridData.grabExcessHorizontalSpace = true;    gridData.verticalAlignment = GridData.FILL;    gridData.grabExcessVerticalSpace = true;    gridData.horizontalSpan = 2;    tblSongs.setLayoutData(gridData);    tblSongs.pack();  }