Package org.geotools.graph.util

Source Code of org.geotools.graph.util.SwingUtil

/*
*    GeoTools - The Open Source Java GIS Toolkit
*    http://geotools.org
*
*    (C) 2003-2008, Open Source Geospatial Foundation (OSGeo)
*       
*    This library is free software; you can redistribute it and/or
*    modify it under the terms of the GNU Lesser General Public
*    License as published by the Free Software Foundation;
*    version 2.1 of the License.
*
*    This library is distributed in the hope that it will be useful,
*    but WITHOUT ANY WARRANTY; without even the implied warranty of
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
*    Lesser General Public License for more details.
*/
package org.geotools.graph.util;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import javax.swing.AbstractListModel;
import javax.swing.JList;
import javax.swing.ListModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

/**
*
*
* @source $URL$
*/
public class SwingUtil {
 
  public static ListModel toListModel(final List elements) {
    return(
      new AbstractListModel() {
        public int getSize() {
          return(elements.size());
        }

        public Object getElementAt(int index) {
          return(elements.get(index));
        }
      }
    );
  }
 
  public static ListModel toListModel(Collection elements) {
    return(toListModel(new ArrayList(elements)))
  }
 
  public static List toList(ListModel model) {
    ArrayList list = new ArrayList(model.getSize());
    for (int i = 0; i < model.getSize(); i++) {
      list.add(model.getElementAt(i))
    }
   
    return(list);
  }
 
  public static void setSelection(JList list, Object element) {
    for (int i = 0; i < list.getModel().getSize(); i++) {
      Object value = (Object)list.getModel().getElementAt(i);
      if (value == element) {
        list.setSelectedIndex(i);
        list.scrollRectToVisible(
          list.getCellBounds(i,i
        );
        return;
      }
    }
  }
 
  public static void addDoubleClickEvent(JList list) {
    list.addMouseListener(
      new MouseAdapter() {
        public void mouseClicked(MouseEvent e) {
          JList source = (JList)e.getSource();
          if (e.getClickCount() == 2) {
            ListSelectionListener[] listeners = source.getListSelectionListeners();
            for (int i = 0; i < listeners.length; i++) {
              listeners[i].valueChanged(
                new ListSelectionEvent(
                  source, source.getSelectedIndex(),
                  source.getSelectedIndex(), false
                )
              );
            }  
          }
        }
      } 
    );
  }
}
TOP

Related Classes of org.geotools.graph.util.SwingUtil

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.