コード例 #1
0
  public void insertNode(NodePosition np, int index) {

    if (np != null) {
      if (index > nodeData.size()) {
        nodeData.addElement(np);
      } else {
        nodeData.insertElementAt(np, index);
      }
      sorter.reallocateIndexes();
      sorter.fireTableChanged(new TableModelEvent(this));
    }
  }
コード例 #2
0
  public void insertNodes(NodePosition[] nps, int index) {

    if (index > nodeData.size()) index = nodeData.size();

    for (int i = 0; i < nps.length; i++) {
      if (nps[i] != null) {
        if (index > nodeData.size()) {
          nodeData.addElement(nps[i]);
        } else {
          nodeData.insertElementAt(nps[i], index + i);
        }
      }
    }

    sorter.reallocateIndexes();
    sorter.fireTableChanged(new TableModelEvent(this));
  }
コード例 #3
0
  public void deleteRows(int[] rowIndexes) {

    Vector tempData = new Vector(nodeData.size());

    for (int j = 0; j < nodeData.size(); j++) {
      tempData.addElement(nodeData.elementAt(j));
    }

    if (rowIndexes.length <= nodeData.size()) {
      for (int i = 0; i < rowIndexes.length; i++) {
        int next = rowIndexes[i];
        NodePosition np = (NodePosition) tempData.elementAt(next);
        nodeData.remove(np);
      }
    }

    tempData.removeAllElements();
    tempData = null;

    sorter.reallocateIndexes();
    sorter.fireTableChanged(new TableModelEvent(this));
  }