Eine IFC-Applikation mit einer Reihe von Kontrollelementen:
View;
diese beinhaltet die grundsätzliche Funktionalität zum Zeichen (draw) und zum
Empfang von Ereignissen
addSubview (new_control) fügt man zu einer
View ein weiteres Kontrollelement hinzu und zeigt dieses an
public class My_class extends View implements Target
{
// lot's of other methods go here
public void performCommand (String command, Object obj)
{
if ("message1".equals(command))
do_something ();
else if ("message2".equals(command))
do_something_else (obj);
}
}
setTarget (Target the_target)
und setCommand (String message); mit diesen wird das Ziel einer Nachricht bzw. die
Nachricht selbst festgelegt, die z.B. im Fall eines Buttonklicks gesendet wird; das auslösende Ereignis,
das zum Senden der Nachricht führt, ist bei den verschiedenen IFC-Klassen unterschiedlich, aber es ist
vordefiniert; ich habe noch keine Möglichkeit gefunden, dieses zu ändern
redButton = new Button (148, 146, 100, 24);
redButton.setTarget (another_object);
redButton.setCommand ("message");
setTarget (TargetChain.applicationChain());
applicationChain() liefert (zur Laufzeit) ein Objekt aus einer Target-Hierarchie
zurück; diese Target-Hierarchie besteht aus Objekten, welche das ExtendedTarget-Interface()
implementiert haben
public class My_other_class extends View implements ExtendedTarget
{
// lot's of other methods go here
public boolean canPerformCommand (String command)
{
if ("message1".equals(command) || "message2".equals(command))
return true;
else
return false;
}
public void performCommand (String command, Object obj)
{
if ("message1".equals(command))
do_something ();
else if ("message2".equals(command))
do_something_else (obj);
}
}