⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tostringcomparator.java

📁 更方便的SWING
💻 JAVA
字号:
/*
 * PSwing Utilities -- Nifty Swing Widgets
 * Copyright (C) 2002  Pallas Technology
 * 
 * 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; either
 * version 2.1 of the License, or (at your option) any later version.
 * 
 * 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.
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 * 
 * Pallas Technology
 * 1170 HOWELL MILL RD NW
 * SUITE 306
 * ATLANTA GEORGIA 30318
 * 
 * PHONE 404.983.0623
 * EMAIL info@pallastechnology.com
 * 
 * www.pallastechnology.com
 **************************************************************************
 * $Archive: SwingTools$
 * $FileName: ToStringComparator.java$
 * $FileID: 5$
 *
 * Last change:
 * $AuthorName: Rob MacGrogan$
 * $Date: 1/28/03 8:05 PM$
 * $VerID: 55$
 * $Comment: Add GLPL text.$
 **************************************************************************/
package com.pallas.swing.pcombobox;

import java.util.Comparator;

/**
 * Title:   $FileName: ToStringComparator.java$
 * @version $VerNum: 2$
 * @author $AuthorName: Rob MacGrogan$<br><br>
 * 
 * $Description: Comparator that calls toString() method on
 *              objects to sort them.$<br>
 * $KeyWordsOff: $<br><br>
 *
 * Comparator that calls <code>toString()</code> method on objects to
 * sort them.
 */
public class ToStringComparator implements Comparator {

  private boolean invert = false;

  /**
   * Sorts in alphabetical order if this constructor is used.
   */
  public ToStringComparator(){
  }

  /**
   * @param invert -- if <code>true</code>, sorts in reverse
   *            alphabetical order. If <code>false</code>, sorts
   *            in alphabetical order.
   */
  public ToStringComparator(boolean invert){
    this.invert = invert;
  }

  /**
   * @see java.util.Comparator#compare(Object, Object)
   */
  public int compare(Object o1, Object o2) {
    int sort = 0;
    String s1 = o1.toString();
    String s2 = o2.toString();

    if (firstStringSortsBeforeSecond(s1, s2, invert)){
      sort = -1;
    }
    else if (s1.equals(s2)){
      sort = 0;
    }
    else{
      sort = 1;
    }
    return sort;
  }


  public static boolean firstStringSortsBeforeSecond(String sOne, String sTwo, boolean invert){
    boolean bReturn = false;
    try{
      double dblOne = Double.parseDouble(sOne);
      double dblTwo = Double.parseDouble(sTwo);
      if ( dblOne <= dblTwo){
        bReturn = true;
      }
      else {
        bReturn = false;
      }
    }
    catch (NumberFormatException ex){
      int iComp = sOne.compareToIgnoreCase(sTwo);
      if (iComp <= 0){
        bReturn = true;
      }
      else {
        bReturn = false;
      }
    }

    if (invert){
      bReturn = ! bReturn;
    }

    return bReturn;
  }


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -