Class Controller

java.lang.Object
  |
  +--Controller

public class Controller
extends java.lang.Object
implements java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.event.TextListener, java.io.FilenameFilter

Alexander Luedeke. Neuropraktikum 99. This is the Controller class. Das eine Controller-Objekt der Applikation dient als "Chef im RIng". Es empfaengt alle Events und verarbeitet diese.


Field Summary
private  int caretPosition
           
private  boolean changed
          hat sich der Text geaendert?
private  java.lang.String fnm
           
private  int fontSize
           
private  java.lang.String initTyp
           
(package private) static Net net
          das Netz-Objekt
private  boolean netChanged
          hat sich das Net geaendert?
private  java.lang.String promptString
           
private  java.awt.TextArea ta
          das TextFeld.
private  java.awt.Frame textEditFrame
          das LvqWindow-Frame; wird im Konstruktor der Dialoge benoetigt.
(package private) static Training training
           
(package private) static Trees trees
           
private  boolean treesChanged
          haen sich die Trees geaendert?
private  java.util.Vector vec
           
(package private) static double[][] viewValues
          zum Beobachten des Lernens
 
Constructor Summary
Controller(java.awt.TextArea ta, java.awt.Frame textEditFrame)
           
 
Method Summary
 boolean accept(java.io.File dir, java.lang.String name)
          das Objekt ist der FilenameFilter fuer die Filedialoge.
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void addFontSizeCheckboxMenuItem(java.awt.CheckboxMenuItem cbmi)
          hier hinterlegt das LvqWindow-Objekt alle CheckboxMenuItems.
private  void appendFile()
          haengt eine Datei an den Text an.
private  void assignCursor(int cursor)
           
private  Trees generatePoliceman(Trees trees)
          Erzeugt eine Datei mit pCount-vielen Policemen
private  void getClassifyAll(Net net, Trees trees, java.lang.String method)
          Werden die Input-Vektoren durch das Netz richtig klassifiziert?
 void getHelp()
          Oeffnet die Hilfe-Datei GetHelp.dat
private  java.lang.String getStringFromFile(boolean open)
          erfragt einen Dateinamen und liefert den Inhalt als String open beim Oeffnen (nicht append) einer Datei den Dateinamen merken
private  Net infoNet(Net net)
          Informationen ueber das Netz
private  Trees infoTrees(Trees trees, boolean inputVec)
          Informationen ueber die Trees
private  Net initialize(Net net, Trees trees, java.lang.String typ)
          Codebook-Vektoren des Netzes initialisieren
 void itemStateChanged(java.awt.event.ItemEvent e)
          das Objekt ist Listener der CheckboxMenuItems.
private  int makeAskDialog(java.lang.String text)
          erzeugt ein AskDialog mit dem Text text in der Label, wartet auf das Ende des Dialogs und liefert das Ergebnis des Dialogs nach aussen.
private  int makeInfoDialog(java.lang.String text1, java.lang.String text2)
          erzeugt ein InfoDialog mit dem Text text in der Label, wartet auf das Ende des Dialogs und liefert das Ergebnis des Dialogs nach aussen.
private  int makePromptDialog(java.lang.String text)
          erzeugt ein PromptDialog mit dem Text text in der Label, wartet auf das Ende des Dialogs und liefert das Ergebnis des Dialogs nach aussen.
private  void makeShowInfoDialog(java.lang.String text)
          erzeugt ein ShowInfoDialog mit dem Text text in der Label, wartet auf das Ende des Dialogs und liefert das Ergebnis des Dialogs nach aussen.
private  int makeVInfoDialog(java.lang.String text)
          erzeugt ein VInfoDialog mit dem Text text in der Label, wartet auf das Ende des Dialogs und liefert das Ergebnis des Dialogs nach aussen.
private  Net normalize(Net net, java.lang.String distanceFunc)
          Codebook-Vektoren normieren
private  void openFile()
          Oeffnet eine Datei
private  Net openNet(Net net)
           
private  Trees openTrees(Trees trees)
          Oeffnet ein Trees-File
private  void saveNet(Net net, boolean getNewFileName)
          Speichert ein Netz
private  void saveText(boolean getNewFileName)
           
private  void saveTrees(Trees trees, boolean getNewFileName)
          Speichert Trees
private  void select(int index, java.lang.String text)
          selektiert ab der Postion index text.length() Zeichen im Text.
private  void setCaretPosition(int caretPosition)
          setzt den Cursor an die angegebene Position, nach der Ausfuehrung von Search.
private  void setFont()
           
private  Training setTrainingCycles(Training training)
          Anzahl der Trainings-Zyklen setzen
private  Net startTraining(Net net, Trees trees, Training training)
          Netz trainieren
 void textValueChanged(java.awt.event.TextEvent e)
           
private  void viewAPoliceman(Trees trees)
          Einen Policeman zeichnen
private  void viewValues(Training training, Net net)
          Diese Methode gibt Ergebnisse der Distanzfunktion fuer den i-ten Input-Vektor aus.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

ta

private java.awt.TextArea ta
das TextFeld.

textEditFrame

private java.awt.Frame textEditFrame
das LvqWindow-Frame; wird im Konstruktor der Dialoge benoetigt.

changed

private boolean changed
hat sich der Text geaendert?

netChanged

private boolean netChanged
hat sich das Net geaendert?

treesChanged

private boolean treesChanged
haen sich die Trees geaendert?

vec

private java.util.Vector vec

fontSize

private int fontSize

initTyp

private java.lang.String initTyp

promptString

private java.lang.String promptString

caretPosition

private int caretPosition

fnm

private java.lang.String fnm

net

static Net net
das Netz-Objekt

trees

static Trees trees

training

static Training training

viewValues

static double[][] viewValues
zum Beobachten des Lernens
Constructor Detail

Controller

public Controller(java.awt.TextArea ta,
                  java.awt.Frame textEditFrame)
Method Detail

setFont

private void setFont()

textValueChanged

public void textValueChanged(java.awt.event.TextEvent e)
Specified by:
textValueChanged in interface java.awt.event.TextListener

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
das Objekt ist Listener der CheckboxMenuItems. Die Methode realisiert fuer alle CheckboxMenuItem in dem Vector vec die Funktionalitaet von Radio-CheckboxMenuItem.
Specified by:
itemStateChanged in interface java.awt.event.ItemListener

addFontSizeCheckboxMenuItem

public void addFontSizeCheckboxMenuItem(java.awt.CheckboxMenuItem cbmi)
hier hinterlegt das LvqWindow-Objekt alle CheckboxMenuItems.

makeAskDialog

private int makeAskDialog(java.lang.String text)
erzeugt ein AskDialog mit dem Text text in der Label, wartet auf das Ende des Dialogs und liefert das Ergebnis des Dialogs nach aussen.

makePromptDialog

private int makePromptDialog(java.lang.String text)
erzeugt ein PromptDialog mit dem Text text in der Label, wartet auf das Ende des Dialogs und liefert das Ergebnis des Dialogs nach aussen. Fuer das Menu Search

makeVInfoDialog

private int makeVInfoDialog(java.lang.String text)
erzeugt ein VInfoDialog mit dem Text text in der Label, wartet auf das Ende des Dialogs und liefert das Ergebnis des Dialogs nach aussen. Allgemein fuer Hinweise.

makeInfoDialog

private int makeInfoDialog(java.lang.String text1,
                           java.lang.String text2)
erzeugt ein InfoDialog mit dem Text text in der Label, wartet auf das Ende des Dialogs und liefert das Ergebnis des Dialogs nach aussen. Fuer das Menu About Policeman

makeShowInfoDialog

private void makeShowInfoDialog(java.lang.String text)
erzeugt ein ShowInfoDialog mit dem Text text in der Label, wartet auf das Ende des Dialogs und liefert das Ergebnis des Dialogs nach aussen.

setCaretPosition

private void setCaretPosition(int caretPosition)
setzt den Cursor an die angegebene Position, nach der Ausfuehrung von Search.

accept

public boolean accept(java.io.File dir,
                      java.lang.String name)
das Objekt ist der FilenameFilter fuer die Filedialoge. Das funktioniert unter jdk1.1.5 nicht!!!!
Specified by:
accept in interface java.io.FilenameFilter

select

private void select(int index,
                    java.lang.String text)
selektiert ab der Postion index text.length() Zeichen im Text.

saveText

private void saveText(boolean getNewFileName)

getStringFromFile

private java.lang.String getStringFromFile(boolean open)
erfragt einen Dateinamen und liefert den Inhalt als String open beim Oeffnen (nicht append) einer Datei den Dateinamen merken

openFile

private void openFile()
Oeffnet eine Datei

appendFile

private void appendFile()
haengt eine Datei an den Text an.

openNet

private Net openNet(Net net)

saveNet

private void saveNet(Net net,
                     boolean getNewFileName)
Speichert ein Netz

saveTrees

private void saveTrees(Trees trees,
                       boolean getNewFileName)
Speichert Trees

infoNet

private Net infoNet(Net net)
Informationen ueber das Netz

infoTrees

private Trees infoTrees(Trees trees,
                        boolean inputVec)
Informationen ueber die Trees

openTrees

private Trees openTrees(Trees trees)
Oeffnet ein Trees-File

initialize

private Net initialize(Net net,
                       Trees trees,
                       java.lang.String typ)
Codebook-Vektoren des Netzes initialisieren

getClassifyAll

private void getClassifyAll(Net net,
                            Trees trees,
                            java.lang.String method)
Werden die Input-Vektoren durch das Netz richtig klassifiziert?

setTrainingCycles

private Training setTrainingCycles(Training training)
Anzahl der Trainings-Zyklen setzen

startTraining

private Net startTraining(Net net,
                          Trees trees,
                          Training training)
Netz trainieren

normalize

private Net normalize(Net net,
                      java.lang.String distanceFunc)
Codebook-Vektoren normieren

assignCursor

private void assignCursor(int cursor)

generatePoliceman

private Trees generatePoliceman(Trees trees)
Erzeugt eine Datei mit pCount-vielen Policemen

viewAPoliceman

private void viewAPoliceman(Trees trees)
Einen Policeman zeichnen

viewValues

private void viewValues(Training training,
                        Net net)
Diese Methode gibt Ergebnisse der Distanzfunktion fuer den i-ten Input-Vektor aus.

getHelp

public void getHelp()
Oeffnet die Hilfe-Datei GetHelp.dat