Package net.sourceforge.squirrel_sql.fw.datasetviewer

Source Code of net.sourceforge.squirrel_sql.fw.datasetviewer.DataSetViewerTableListSelectionHandler

package net.sourceforge.squirrel_sql.fw.datasetviewer;

import javax.swing.event.ListSelectionListener;
import javax.swing.event.ListSelectionEvent;
import java.util.ArrayList;

public class DataSetViewerTableListSelectionHandler
{
   private ArrayList<RowSelectionListener> _rowSelectionListeners = new ArrayList<RowSelectionListener>();
   private DataSetViewerTablePanel.MyJTable _table;

   private int[] _formerSelectedIxs = new int[0];

   public DataSetViewerTableListSelectionHandler(DataSetViewerTablePanel.MyJTable table)
   {
      _table = table;
      _table.getSelectionModel().addListSelectionListener(new ListSelectionListener()
      {
         @Override
         public void valueChanged(ListSelectionEvent e)
         {
            fireListeners(_formerSelectedIxs, _table.getSelectedRows());
            _formerSelectedIxs = _table.getSelectedRows();
         }
      });
   }

   private void fireListeners(int[] formerSelectedIxs, int[] selectedIxs)
   {
      RowSelectionListener[] listeners = _rowSelectionListeners.toArray(new RowSelectionListener[_rowSelectionListeners.size()]);

      for (RowSelectionListener listener : listeners)
      {
         listener.selectionChanged(selectedIxs, formerSelectedIxs);
      }
   }

   public void addRowSelectionListener(RowSelectionListener rowSelectionListener)
   {
      _rowSelectionListeners.add(rowSelectionListener);
   }

   public void removeRowSelectionListener(RowSelectionListener rowSelectionListener)
   {
      _rowSelectionListeners.remove(rowSelectionListener);
   }
}
TOP

Related Classes of net.sourceforge.squirrel_sql.fw.datasetviewer.DataSetViewerTableListSelectionHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.