HeapTable.java

/*
 *     YAV (Yet another Visualiser)
 *     (c) 2004 by Robin Quast
 *    Version 1.0 (04.03.2004)
 *    
 *  erstellt im Rahmen der Diplomarbeit
 * "Theorie und Java- Realisierung
 *  ausgewählter Algorithmen zur
 *  Bestimmung kürzester Wege in Graphen"
 *
 *  betreut durch Prof. Dr. Lenze
 *  an der Fachhochschule Dortmund
 *  im SS 2003/ WS 2003/2004
 *
 *  @(#)HeapTable.java  1.0 04/03/09
 */

import javax.swing.*;
import java.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Vector;
import java.util.Enumeration;
import java.lang.Math;
import java.util.Collections;
import java.awt.geom.*;
import javax.swing.table.*;

/** Klasse zur Darstellen eines Heaps in einem JTable.
 */
class HeapTable
extends JTable  {

  /** Konstruktor, der das Model setzt und Eigenschaften vorgibt.
   */
  public HeapTable(AbstractTableModel atm) {
        super();  

    setModel(atm);
       setPreferences();
  }

  /** Kosntruktor, der das Modelobjekt erzeugt und Initialiserung vorgibt.
   */
  public HeapTable() {
    super();
    setModel(new HeapTableModel());
    setPreferences();
  }
  
  /** Setzen von Eigenschaften und Initialisierung.
   */
  public void setPreferences() {
    setPreferredScrollableViewportSize(new Dimension(150150));
    getTableHeader().setReorderingAllowed(false);
    setShowGrid(true);
    setSelectionMode(0);
  }

  /** Löschen einer Zeile.
   */
    public void removeRow() { 
      int index = getSelectedRow();
    removeRow(index);
    }
    
    /** L&ouml;schen einer Zeile mit dem Index <i>index</I>.
     */
    public void removeRow(int index) {
      if (index>=0) {
        ((EdgeTableModel)getModel()).removeRow(index);
      
      repaint();    
  }

  
}