/*
* 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
*
* @(#)PredecessorTable.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, die das Vorgängerarray in einer JTable zur Verfügung stellt.
*/
class PredecessorTable
extends JTable {
/** Konstruktor, der das AbstractTableModel übernimmt.
*/
public PredecessorTable(AbstractTableModel atm) {
super();
DefaultTableColumnModel cm = new DefaultTableColumnModel();
TableColumn col = new TableColumn(0, 50);
col.setHeaderValue("Knoten");
cm.addColumn(col);
col = new TableColumn(1, 75);
col.setHeaderValue("Vorgänger");
cm.addColumn(col);
setModel(atm);
setColumnModel(cm);
setPreferences();
}
/** Kontruktor, der ein TableModel erzeugt und initiale Werte vergibt.
*/
public PredecessorTable() {
super();
setModel(new PredecessorTableModel());
setPreferences();
}
/** Initialisieren der Werte.
*/
public void setPreferences() {
setPreferredScrollableViewportSize(new Dimension(150, 150));
getTableHeader().setReorderingAllowed(false);
setShowGrid(true);
setSelectionMode(0);
}
/** Eventroutine für das auslösen einer Taste.
*/
public void keyPressed(KeyEvent e) {
repaint();
}
/** Die Taste wurde losgelassen.
*/
public void keyReleased(KeyEvent e) {
repaint();
}
/** Eine Zeile löschen, wobei die Zeile selektiert sein muss.
*/
public void removeRow() {
int index = getSelectedRow();
removeRow(index);
}
/** Eine Zeile mit dem übergebenen Index löschen.
*/
public void removeRow(int index) {
if (index>=0) {
((EdgeTableModel)getModel()).removeRow(index);
}
repaint();
}
}
|