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

📄 selectionset.java

📁 基于java的3d开发库。对坐java3d的朋友有很大的帮助。
💻 JAVA
字号:
//===========================================================================import java.util.ArrayList;public class SelectionSet{    // This is an association to an external ArrayList (generic, not template)    private ArrayList elements;    private ArrayList<Boolean> selection;    public SelectionSet(ArrayList externalList)    {        elements = externalList;        selection = new ArrayList<Boolean>();        sync();    }    /**    Checks the size of the element list. If it is different to current    selection list, selection list is updated.    */    public void sync()    {        if ( elements.size() == selection.size() ) {            return;        }        while ( elements.size() > selection.size() ) {            selection.add(new Boolean(false));        }        while ( elements.size() < selection.size() ) {            selection.remove(selection.size()-1);        }    }    public String toString()    {        String msg = "Selection set: [";        int i;        for ( i = 0; i < selection.size(); i++ ) {            msg = msg + (selection.get(i).booleanValue()?"*":"-");        }        msg = msg + "]";        return msg;    }    public boolean isSelected(int i) {        if ( i < 0 || i >= selection.size() ||              !selection.get(i).booleanValue()            ) {            return false;        }        return true;    }    public int firstSelected()    {        int index = -1;        int i;        for ( i = 0; i < selection.size(); i++ ) {            if ( selection.get(i).booleanValue() ) {                index = i;                break;            }        }        return index;    }    public void selectAll()    {        int i;        for ( i = 0; i < selection.size(); i++ ) {            selection.set(i, new Boolean(true));        }    }    public void unselectAll()    {        int i;        for ( i = 0; i < selection.size(); i++ ) {            selection.set(i, new Boolean(false));        }    }    public void select(int i)    {        sync();        if ( i < 0 || i >= selection.size() ) return;        selection.set(i, new Boolean(true));    }    public void unselect(int i)    {        sync();        if ( i < 0 || i >= selection.size() ) return;        selection.set(i, new Boolean(false));    }    public void change(int i)    {        sync();        if ( i < 0 || i >= selection.size() ) return;        if ( isSelected(i) ) {            selection.set(i, new Boolean(false));          }          else {            selection.set(i, new Boolean(true));        }    }    public void selectPrevious()    {        sync();        if ( selection.size() < 1 ) {            return;        }        int f;        f = firstSelected();        if ( f < 0 ) {            select(selection.size()-1);            return;        }        unselect(f);        f--;        if ( f < 0 ) {            return;        }        select(f);    }    public void selectNext()    {        sync();        if ( selection.size() < 1 ) {            return;        }        int f;        f = firstSelected();        if ( f < 0 ) {            select(0);            return;        }        unselect(f);        f++;        if ( f >= selection.size() ) {            return;        }        select(f);    }    public int numberOfSelections()    {        int i;        int acum = 0;        sync();        for ( i = 0; i < selection.size(); i++ ) {            if ( isSelected(i) ) {                acum++;            }        }        return acum;    }    public int size()    {        return selection.size();    }}//===========================================================================//= EOF                                                                     =//===========================================================================

⌨️ 快捷键说明

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