CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)
|
|
- Catharina Fanny Armbruster
- vor 8 Jahren
- Abrufe
Transkript
1 CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Graphische Benutzerschnittstellen II GUI und Aktionen verknüpfen MVC-Muster Seite 1
2 GUI mit Aktionen verknüpfen Seite 2
3 ActionListener ActionListener : GUI-Komponenten mit Anwendungslogik verbinden Ereignis: Benutzer drückt Taste / bewegt Maus GUI-Elemente registrieren diese externen Ereignisse... erzeugen interne Ereignisse... und leiten sie weiter an ihre ActionListener ActionListener verarbeitet interne Ereignisse KLICK internes Ereignis externes Ereignis ActionListener: passt auf, ob irgendwo sich etwas regt EreignisObjekt ActionListener ActionListener Klick verarbeiten Klick verarbeiten einlistener JButton JButton einknopf Verbindung herstellen einknopf.addactionlistener(einlistener) Seite 3
4 ActionListener: Beispiel public static void main(string[] args) { JFrame frame = new JFrame(); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setlayout(new FlowLayout()); JButton b = new JButton("KlickMich!"); frame.add(b); //Knopf mit ActionListener verbinden b.addactionlistener(new OhEsKlickt()); Knopf b mit einem ActionListener verbinden frame.setvisible(true); namenloses OhEsKlickt-Objekt new Der ActionListener definiert was passiert, wenn der Knopf geklickt wird namenloses ActionListener-Objekt class OhEsKlickt implements ActionListener { public void actionperformed(actionevent arg0) { System.out.println("Oh Ja, das Klickt!"); Seite 4
5 ActionListener: Darstellung mit Sequenzdiagramm :OhEsKlickt public class Test { public static void main(string[] args) {... b : JButton addactionlistener( ) actionperformed main-thread Klick! Event-Dispatcher-Thread addactionlistener: Von main aus (direkt oder indirekt über beliebig viele Methodenaufrufe) wird das namenlose Objekt der Klasse OhEsKlickt als ActionListener beim Objekt b regisitriert. Klickt dann irgendwann der Benutzer den Knopf b... dann wird dies vom Event-Dispatcher-Thread bemerkt, und er aktiviert den bei b registrierten ActionListener... genau genommen ruft er dessen Methode actionperformed auf Seite 5
6 ActionListener als anonyme innere Klasse public static void main(string[] args) { JFrame frame = new JFrame(); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setlayout(new FlowLayout()); JButton b = new JButton("KlickMich!"); JLabel l = new JLabel(); frame.add(b); frame.add(l); Anonyme innere Klasse: Abgekürzte Notation. Spart eine extra Klassendefinition. Eigentlich will man ja nur eine Aktion (Methode) mit dem Knopf verbinden. Formal muss dazu aber eine Klasse (mit dieser Methode) definiert werden. // ActionListener: Klassendfinition und Instanzerzeugung // in einem b.addactionlistener( new ActionListener(){ public void actionperformed(actionevent arg0) { System.out.println("Oh Ja, das klickt"); ); frame.setvisible(true); Methodendefinition Definition einer anonymen inneren Klasse (Klasse ohne Namen, in einer Methode definiert) Seite 6
7 explizit definierte / anonyme innere Klasse Äquivalente Varianten: explizit (normal) definierte Klasse oder anonyme innere Klasse public static void main(string[] args) { JFrame frame = new JFrame(); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setlayout(new FlowLayout()); JButton b = new JButton("KlickMich!"); frame.add(b); b.addactionlistener( new ActionListener(){ public void actionperformed(actionevent arg0) { System.out.println("Oh Ja, das klickt"); public static void main(string[] args) { JFrame frame = new JFrame(); ); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setvisible(true); frame.setlayout(new FlowLayout()); JButton b = new JButton("KlickMich!"); frame.add(b); //Knopf mit ActionListener verbinden b.addactionlistener(new OhEsKlickt()); Variante mit anonymer innerer Klasse frame.setvisible(true); class OhEsKlickt implements ActionListener { public void actionperformed(actionevent arg0) { System.out.println("Oh Ja, das Klickt!"); Seite 7 Variante mit explizit definierter Klasse
8 Kommunikation mit GUI-Elementen Seite 8
9 Textfelder: Werte setzen / abfragen Das Programm (der main-thread) kann in vielfältiger Weise auf GUI-Elemente zugreifen um Werte und Eigenschaften zu setzten (die dann eventuell sichtbar werden) um Werte und Eigenschaften zu lesen (die eventuell vom Benutzer eingegeben wurden) Beispiel Textfeld: settext: Text sichtbar machen gettext: Benutzereingaben lesen :ActionListener public class Test { public static void main(string[] args) {... t : JTextField addactionlistener( ) actionperformed Event-DispatcherThread Benutzer Aktion settext main-thread (Programm-gesteuerte Aktionen) gettext Seite 9
10 Ereignisorientierte Programme Interaktive Programme sind ereignisorientiert: sie werden im wesentlichen über den Event-Dispatcher gesteuert. Benutzeraktionen modifizieren GUI-Elemente und aktivieren ActionListener diese lesen Informationen aus (anderen) GUI-Elementen und modifizieren deren Inhalt und Aussehen :ActionListener b : JButton t : JTextField Event-DispatcherThread addactionlistener( ) KLICK actionperformed gettext Info verarbeiten, dann anzeigen Tipp settext Zeigen Seite 10
11 Ereignisorientierung: Auf Klick hin addieren public class AddiererGUI extends JFrame { private JButton plusb; private JTextField op1tf; private JTextField op2tf; private JTextField resulttf; public AddiererGUI() { super("addierer"); initview(); setlistener(); gettext parseint settext private void setlistener() { plusb.addactionlistener( new ActionListener() { public void actionperformed(actionevent arg0) { resulttf.settext( "" // String-Wert erzwingen + ( Integer.parseInt( op1tf.gettext() ) + Integer.parseInt( op2tf.gettext() ) ) gettext parseint + private void initview() {...wie oben ); ); Seite 11
12 View MVC: Model, View, Control Control Seite 12 Model
13 MVC: ein bekanntes Entwurfsmuster MVC: Entwurfsmuster (design pattern) zur Gestaltung von GUI-Anwendungen Model View Control Modell (Logik / Zustand) der Anwendung Darstellung des Modells, Interaktion mit dem Benutzer (GUI) Kontrolle, Benutzerführung, Aktionsverarbeitung Die GUI-Anwendung wird in die drei Bereiche organisiert, die jeweils eine der drei Hauptaufgaben übernehmen. Model, View und Control werden als Klassen mit einem Exemplar realisiert Seite 13
14 Addierer nach MVC-Muster Addierer im MVC-Muster: Model Eine Welt von drei Werte v1, v2, s. Die dritte (s) ist dabei immer die Summe der beiden anderen (v1, v2) View Darstellung des Modells, also der drei Zahlen. Außerdem Möglichkeit für Benutzeraktionen: der Knopf Control Kontrolle, Benutzerführung, Aktionsverarbeitung: Benutzer klickt Knopf. v1 und v2 im Model werden an die eingegebenen Werte angepasst. Control: steuert Reaktion auf Benutzeraktionen Control oder Berechnungen set(2,3) Model statt AddiererGUI update(''5'') Model:verwaltet / berechnet Daten; aktualisiert View Seite 14 action(''2'',''3'') View View: zeigt Modell, bemerkt Benutzeraktionen
15 Addierer nach MVC-Muster (1) public class AddiererModel { private int v1; private int v2; private int s; // INV s = v1+2 private AddiererView view; public AddiererModel(AddiererView view) { this.view = view; void set(int v1, int v2){ System.out.println("SET "+v1+ " "+v2); this.v1 = v1; this.v2 = v2; s = v1 + v2; set(2,3) view.update(s); Model update(''5'') Model muss View kennen. Die Bekanntschaft wird im Konstruktor gesetzt Seite 15
16 Addierer nach MVC-Muster (2) public class AddiererControl { private AddiererModel model; public AddiererControl(AddiererModel model) { this.model = model; void action(string s1, String s2){ model.set( Integer.parseInt(s1), Integer.parseInt(s2) ); Control action(''2'',''3'') set(2,3) Control muss Model kennen. Die Bekanntschaft wird im Konstruktor gesetzt Seite 16
17 Addierer nach MVC-Muster (3) public class AddiererView extends JFrame { private JButton plusb; private JTextField op1tf, op2tf, resulttf; private AddiererControl control; public AddiererView() { super("addierer"); initview(); setlistener(); void setcontrol(addierercontrol control){ this.control = control; private void initview() {... update(''5'') View View muss Conrol kennen. Die Bekanntschaft wird mit Methode gesetzt private void setlistener() { plusb.addactionlistener( new ActionListener() { public void actionperformed(actionevent arg0) { control.action( op1tf.gettext(), op2tf.gettext()); ); // Ende setlistener void update(int v){ resulttf.settext( ""+v ); Seite 17
18 Addierer nach MVC-Muster (4) public class Addierer { public static void main(final String[] args){ AddiererView addierview = new AddiererView(); AddiererModel model = new AddiererModel(addierView); AddiererControl control = new AddiererControl(model); addierview.setcontrol(control); addierview.setvisible(true); Control Hauptklasse Addierer: Komponenten erzeugen und miteinander verbinden (bekannt machen) Model View Die MVC-Struktur ist für dieses Trivial-Beispiel natürlich nicht notwendig. Bei komplexeren Anwendungen aber wichtiges, notwendiges und sehr hilfreiches Gestaltungselement. Seite 18
19 MVC MVC Kernidee: Trenne Anwendung, Dialogsteuerung und Präsentation Anwendung (Model): Daten, Zustand der Anwendung, Algorithmen Controller: Verbindung GUI Model, Reaktion auf Benutzeraktionen, Benutzerführung Fehlerhafte Eingaben abfangen,... GUI (View): Darstellung des Modells (Zustand der Anwendung), Aktionsmöglichkeiten bieten Seite 19
20 MVC MVC Beispiel Taschenrechner Seite 20
21 MVC MVC-Muster Taschenrechner Model Daten, Zustand der Anwendung, Algorithmen Control Verbindung GUI Model, Reaktion auf Benutzeraktionen, Benutzerführung View Darstellung des Modells (Zustand der Anwendung), Aktionsmöglichkeiten bieten. Seite 21
22 Taschenrechner: Main package rechner; public class Main { public static void main(string[] args) { Model model = new Model(); Control control = new Control(model); View view = new View(control); model.setcontrol(control); control.setview(view); view.setvisible(true); Bekanntschaften setzen: welches Objekt kennt welches andere: - control kennt model (via Konstruktor): lässt rechnen - view kennt control (via Konstruktor): lässt Eingaben verarbeiten - model kennt control (via setcontrol): breichtet über Rechnenwerte - control kennt view (via setview): zeigt Werte / Fehler an model control view Seite 22
23 Taschenrechner / GUI Taschenrechner GUI (View): sehr einfacher Rechner: Grundrechenarten auf ganzen Zahlen Layout: GridBagLayout Komponenten tabellenartig anordnen, mit Komponenten die sich über mehrere Zeilen / Spalten erstrecken. x y Seite 23
24 Taschenrechner / GUI GridBagLayout: Komponenten werden in einem Gitter / einer Tabelle platziert mit Angabe von: x-position (Spalte) y-position (Zeile) Höhe (in Zeilen) Weite (in Spalten) Positionsangaben als GridBagConstraints, die bei add mit angegeben werden setlayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); //Komponenten so breit wie ihr Platz: c.fill = GridBagConstraints.HORIZONTAL; c.gridwidth = 4; // Weite: 4 Spalten c.gridx = 0; // Spalte 0 c.gridy = 0; // Zeile 0 add(displaytf, c); // Textfeld dahin! c.gridwidth = 2; // Weite jetzt 2 c.gridx = 4; // x-position jetzt 4 add(new JLabel("SuperCalc", SwingConstants.CENTER), c); Die erste Zeile des Taschenrechners: 4 Spalten für Textfeld, 2 Spalten für Label Seite 24
25 Taschenrechner / GUI - Rahmen public class View extends JFrame { private JButton[] digitbutton = new JButton[10]; private JButton[] opbutton = new JButton[4]; private JButton eqbutton; private JButton clearbutton; private JTextField displaytf; char[] ops = { '+', '-', '*', '/' ; private Control control; View(Control control) { super("calculator"); this.control = control; initgui(); setlistener(); private void initgui() {... private void setlistener() {... Seite 25
26 Taschenrechner / GUI initgui (1) private void initgui() { for (int i = 0; i < 10; i++) { digitbutton[i] = new JButton("" + i); digitbutton[i].setfont(new Font("monspaced", Font.PLAIN, 20)); for (int i = 0; i < 4; i++) { opbutton[i] = new JButton("" + ops[i]); opbutton[i].setfont(new Font("monspaced", Font.PLAIN, 20)); eqbutton = new JButton("="); eqbutton.setfont(new Font("monspaced", Font.PLAIN, 20)); clearbutton = new JButton("clear"); clearbutton.setfont(new Font("spaced", Font.ITALIC, 12)); displaytf = new JFormattedTextField(new java.text.decimalformat()); displaytf.setcolumns(10); displaytf.sethorizontalalignment(jtextfield.right); displaytf.setfont(new Font("monspaced", Font.PLAIN, 20)); displaytf.seteditable(false); displaytf.setbackground(color.light_gray); Seite 26
27 Taschenrechner / GUI initview (2) setlayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.HORIZONTAL; c.gridwidth = 4; c.gridx = 0; c.gridy = 0; add(displaytf, c); c.gridwidth = 2; c.gridx = 4; add(new JLabel("SuperCalc", SwingConstants.CENTER), c); c.gridwidth = 1; c.gridx = 0; c.gridy = 1; add(digitbutton[7], c); c.gridx = 1; add(digitbutton[8], c); c.gridx = 2; add(digitbutton[9], c); c.gridx = 4; add(opbutton[0], c); c.gridx = 5; add(opbutton[1], c); Seite 27
28 Taschenrechner / GUI initview (3) c.gridx = 0; c.gridy = 2; add(digitbutton[4], c); c.gridx = 1; add(digitbutton[5], c); c.gridx = 2; add(digitbutton[6], c); c.gridx = 4; add(opbutton[2], c); c.gridx = 5; add(opbutton[3], c); c.gridx = 0; c.gridy = 3; add(digitbutton[1], c); c.gridx = 1; add(digitbutton[2], c); c.gridx = 2; add(digitbutton[3], c); c.gridx = 4; c.gridwidth = 2; add(eqbutton, c); c.gridwidth = 1; add(digitbutton[3], c); c.gridx = 4; c.gridwidth = 2; add(eqbutton, c); c.gridwidth = 1; c.gridx = 0; c.gridy = 4; c.gridwidth = 3; add(digitbutton[0], c); c.gridx = 4; add(clearbutton, c); Seite 28 pack();
29 Taschenrechner : Automat Taschenrechner als Automat Zwei Ebenen Ebne der Ziffern Ziffer-Eingaben / Operator-Eingaben verarbeiten Eingegebene Ziffern speichern und zu Zahlen zusammensetzen Ebene der Zahlen eingegebene / berechnete Zahlen für die nächste Operation speichern eingegebenen Operator / eingegebene Zahlen zu neuer Zahl verarbeiten 00 neue Ziffer zu der Zahl die gerade aufgesammelt wird ++ Ziffer-Sammeln beenden, Zahl merken, Operator merken == Ziffern sammeln beendet, Zahl mit alter Zahl und Operator verknüpfen Seite 29
30 Taschenrechner : Automat Aufteilung des Verhaltens in zwei parallel arbeitende Automaten: Tasten-Annahme / -Verarbeitung (Tastendruck-Verarbeitung / Ziffer ~> Zahl) Zahlen-Annahme / -Verarbeitung (Verarbeitung von Zahlen und Operationen) Ziffer +-*/ = Front Zahl, op baut Zahl auf in acc1 Zahl, = Ergebnis Zustand: gesammelte Ziffern Back verwaltet op, verwaltet acc2, rechnet Zustand: gespeicherte Zahl und Operator acc1: 1-ter Akkumulator, Sammelstelle für Ziffern acc2: 2-ter Akkumulator, Aufbewahrung des ersten Operanden op: aufbewahrter Operator Seite 30
31 Taschenrechner : Front-Automat Front-Automat Eingabeannahme Ziffernfolge zu Zahlen aufbauen < Zahl / Operator > oder < Zahl / = > an Back-Automat übergeben Back <123, +> acc1 Seite 31
32 Taschenrechner : Front-Automat als UML / Statechart =/ sendcomp(acc1) / acc1 = 0 receiveerg(v) / acc1 = v Input InputPending Ziffer / acc1 = acc1*10 + Ziffer Ziffer / acc1 = Ziffer Zustand op / sendop(acc1, op) Front-Automat: verwaltet Zahl (in acc1) sammelt Ziffern zu Zahlen auf nimmt Ergebnis an sendet <Zahl, => oder Operator UML: Zustands(übergangs)Automat, Zustands(übergangs)Diagramm Statechart Ereignis Aktion Ereignisse: - Ziffer : Eingabe einer Ziffer - op: Eingabe eines Operators - = : Eingabe '=' - receiveerg: Ergebnis von Back Zustände: bei Zahleingabe oder Beginn neue Zahl Seite 32
33 Taschenrechner : Front-Automat als UML / Statechart =/ sendcomp(acc1) / acc1 = 0 receiveerg(v) / acc1 = v Input InputPending Ziffer / acc1 = acc1*10 + Ziffer composite State Ziffer / acc1 = Ziffer Zustand op / sendop(acc1, op) Front-Automat startet im Zustand Input, acc1 wird = 0 gesetzt. Im Zustand Input: - ankommenden Ziffern werden gesammelt Im Zustand InputPending - ein eintreffender Wert v vom Back-Automat wird in acc1 gespeichert Ereignis Aktion in jedem Zustand: - eine '='-Eingabe führt in den Zustand InputPending und zum Senden des acc1-wertes - eine '+', '-', '**, oder '/' Eingabe führt in den Zustand InputPendimg und dazu, dass der Operator und der Wert von acc1 an den BackAutomat gesendet wird. Seite 33
34 Taschenrechner : MVC Front-Automat => Control-Komponente zusätzlich Clear-Taste Fehlereingaben abfangen Fehlermeldungen von Model annehmen View informieren Back-Automat => Model-Komponente zusätzlich reset-funktion Arithmetik-Fehler abfangen View / Control informieren Eine Aufteilung von beliebig vielen möglichen! Seite 34
35 Taschenrechner : Automat als Model und Control Aufteilung des Verhaltens in zwei parallel arbeitende Automaten: Control: Tasten-Annahme / -Verarbeitung (Tastendruck-Verarbeitung / Ziffer ~> Zahl) Model: Zahlen-Annahme / -Verarbeitung (Verarbeitung von Zahlen und Operationen) Control Ziffer +-*/ = baut Zahl auf in acc1 sendop receiveop sendcomp receivecomp sendreset receivereset receiveerg senderg Model verwaltet op, verwaltet acc2, rechnet Zustand: gespeicherte Zahl und Operator Zustand: gesammelte Ziffern acc1: 1-ter Akkumulator, Sammelstelle für Ziffern acc2: 2-ter Akkumulator, Aufbewahrung des ersten Operanden op: aufbewahrter Operator Seite 35
36 Taschenrechner : Control-Komponente / UML =/ sendcomp(acc1) / acc1 = 0 digitc = 0 Input Ziffer / [digitc < MAX] acc1 = acc1*10 + Ziffer digitc++ receiveerg(v) / acc1 = v clear / sendreset() InputPending Ziffer / acc1 = Ziffer digitc = 1 clear / sendreset() op / sendop(acc1, op) receiveerr Ziffer / [digitc >= MAX] Front (Control) mit Fehlerkontrolle: eingegebene Ziffern werden gezählt; clear führt zu Re-Initialisierung. Back (Model) kann Fehler melden; nur clear führt aus dem Fehler-Zustand Seite 36 Error
37 Taschenrechner : Control-Komponente / Java (1) public class Control { private enum State { INPUT, INPUTPENDING, ERROR ; private State state = State.INPUT; private long acc1 = 0; private int digitc = 0; private final int MAXDIGIT = 12; private Model model; private View view; public void setview(view view) { this.view = view; public Control(Model model) { this.model = model; Seite 37
38 Taschenrechner : Control-Komponente / Java (2) void setdigit(int d) { switch (state) { case INPUT: if ( digitc > MAXDIGIT ) { state = State.ERROR; view.newtext("error"); return; acc1 = acc1*10 + d; view.newtext(""+acc1); digitc++; state = State.INPUT; break; case INPUTPENDING: acc1 = d; view.newtext(""+acc1); Zifferneingabe verarbeiten: digitc = 1; in welchem Zustand bin ich state = State.INPUT; was tun? break; was ist der nächste Zustand? Seite 38
39 Taschenrechner : Control-Komponente / Java (3) void setequal() { switch (state) { case INPUT: state = State.INPUTPENDING; sendcomp(acc1); break; case INPUTPENDING: state = State.INPUTPENDING; sendcomp(acc1); break; '='-Eingabe verarbeiten Operator-Eingabe verarbeiten void setop(char op) { switch (state) { case INPUT: state = State.INPUTPENDING; sendop(acc1, op); break; case INPUTPENDING: state = State.INPUTPENDING; sendop(acc1, op); break; Seite 39
40 Taschenrechner : Control-Komponente / Java (3) public void clear() { state = State.INPUT; digitc = 0; acc1 = 0; sendreset(); view.newtext(""+acc1); Clear-Taste verarbeiten void receiveerg(long erg) { Ergebnis-Wert von Model switch (state) { (Back) verarbeiten case INPUT: System.err.println("receive in state Input"); case INPUTPENDING: acc1 = erg; view.newtext(""+acc1); break; public void receiveerror() { state = State.ERROR; view.newtext("error"); Fehlermeldung von Model (Back) verarbeiten Seite 40
41 Taschenrechner : Control-Komponente / Java (4) private void sendcomp(long acc1) { model.receivecomp(acc1); Hilfsroutine: Wert an Model senden private void sendop(long acc1, char op) { model.receiveop(acc1, op); Hilfsroutine: Wert und Operator an Model senden private void sendrest() { model.receivereset(); Hilfsroutine: Reset an Model senden Seite 41
42 Taschenrechner : Model-Komponente / UML receiveop(v, op) / ops = op acc2 = v OpPending OpWait Warte auf Operator receiveop(v, op) / acc2 = acc2 ops v ops = op senderg(acc2) receivecomp(v) / acc2 = acc2 ops v senderg(acc2) receivereset() / acc2=0 Statechart der Model-Komponente Back-Automat (Model): verwaltet Operator (in ops) verwaltet Zahl (in acc2) nimmt Zahl plus = oder Operator an sendet Ergebnis habe unverarbeiteten Operator Ereignisse (Empfangsereignisse von Front) - receiveop(wert): Wert plus Operator - receivecomp(wert) : Wert plus = - receivereset(): acc2 = 0 Zustände: ohne oder mit hängendem Operator Seite 42
43 Taschenrechner : Model-Komponente / Java (1) package rechner; public class Model { private char ops; private long acc2; private enum State { OPWAIT, OPPENDING ; private State state = State.OPWAIT; public Control control; public void setcontrol(control control) { this.control = control; void receiveop(long v, char op) { switch (state) { case OPWAIT: ops = op; acc2 = v; state = State.OPPENDING; break; case OPPENDING: acc2 = compute(acc2, ops, v); ops = op; state = State.OPPENDING; senderg(acc2); Seite 43 Zahl und Operator verarbeiten
44 Taschenrechner : Model-Komponente / Java (1) void receivecomp(long v) { Zahl verarbeiten switch (state) { case OPWAIT: // kein Operator da: ignore break; case OPPENDING: acc2 = compute(acc2, ops, v); state = State.OPWAIT; senderg(acc2); Seite 44
45 Taschenrechner : Model-Komponente / Java (2) public void receivereset() { state = State.OPWAIT; acc2 = 0; reset private void senderg(long erg) { control.receiveerg(erg); private long compute(long v1, char op, try { switch (op) { case '+' : return case '-' : return case '*' : return case '/' : return catch ( ArithmeticException e) { control.receiveerror(); return 0; Hilfsroutine: Ergebnis an Control senden long v2) { v1+v2; v1-v2; v1*v2; v1/v2; Hilfsroutine: rechnen Seite 45
46 Taschenrechner: Zustandsorientierte Klassen mit (recht) komplexer Logik Entwurf vor Codierung! Logik auch einfacher Taschenrechner ist komplex! Entwurf mit Statecharts hilft beim Entwurf! Komplexes Zustände => Zustandsdiagramm vor Codierung welche Zustände hat ein Objekt welche Ereignisse treten auf welche Ereignisse in welchen Zuständen führen zu welchen Aktionen führen zu welchen neuen Zuständen Seite 46
47 GUI-s: weitere Info siehe Seite 47
Objektorientierte Programmierung
Objektorientierte Programmierung Exkurs: Graphische Benutzeroberflächen FH Braunschweig/Wolfenbüttel Sommersemester 2009 1 / 22 Gliederung I Wiederholung Klassen, Objektorientierung (Kapitel 10,11) Exkurs:
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
Mehr2A Basistechniken: Weitere Aufgaben
2A Basistechniken: Weitere Aufgaben 2A.3 Programmierung unter UNIX/Linux 1. Gegeben sind einige Ausschnitte von C-Programmen, die unter UNIX/Linux ausgeführt werden sollen. Beantworten Sie die zugehörigen
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrJava I Vorlesung 11 Graphische Oberflächen mit Swing
Java I Vorlesung 11 Graphische Oberflächen mit Swing 5.7.2004 Swing Komponenten Layout-Manager Events Swing und Threads Die Java-Plattform 2 Die Java-Plattform 3 "Hello World" in Swing HelloWorldS.java
MehrZentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)
1 JAVA für Bauingenieure Alexander Karakas SS 2008 Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI) 21.05.2008 2 Was ist ein(e) GUI? GUI = Graphical User Interface = Graphische
MehrWPF Steuerelemente Listbox, ComboBox, ListView,
WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,
MehrHochschule der Medien Prof. Uwe Schulz 14. Juli 2010 Klausur Informatik, EDV-Nr. 40301 Seite 1 von 5. Teil 2: Aufgaben
Hochschule der Medien Prof Uwe Schulz 14 Juli 2010 Klausur Informatik, EDV-Nr 40301 Seite 1 von 5 Name: Matr Nr: Teil 2: Aufgaben Hilfsmittel: alle außer tragbare Computer und Nachbar Bearbeitungszeit:
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrDownloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler
Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrAdvoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank
Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI
Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer
MehrDesign Patterns 2. Model-View-Controller in der Praxis
Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrBedienung des Web-Portales der Sportbergbetriebe
Bedienung des Web-Portales der Sportbergbetriebe Allgemein Über dieses Web-Portal, können sich Tourismusbetriebe via Internet präsentieren, wobei jeder Betrieb seine Daten zu 100% selbst warten kann. Anfragen
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
MehrSEQUENZDIAGRAMM. Christoph Süsens
SEQUENZDIAGRAMM Christoph Süsens DEFINITION Das Sequenzdiagramm gibt Auskunft darüber: Welche Methoden für die Kommunikation zwischen ausgewählten Objekten zuständig sind. Wie der zeitliche Ablauf von
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrZwischenablage (Bilder, Texte,...)
Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen
MehrErstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
Mehr1. Aktionen-Palette durch "Fenster /Aktionen ALT+F9" öffnen. 2. Anlegen eines neuen Set über "Neues Set..." (über das kleine Dreieck zu erreichen)
Tipp: Aktionen (c) 2005 Thomas Stölting, Stand: 25.4. 2005 In Photoshop werden häufig immer wieder die gleichen Befehlssequenzen benötigt. Um sie nicht jedesmal manuell neu eingeben zu müssen, können diese
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrFH-SY Chapter 2.4 - Version 3 - FH-SY.NET - FAQ -
FH-SY Chapter 2.4 - Version 3 - FH-SY.NET - FAQ - Version vom 02.02.2010 Inhaltsverzeichnis 1. KANN ICH BEI EINER EIGENEN LEKTION NACHTRÄGLICH NOCH NEUE LERNINHALTE ( WAS WURDE BEHANDELT? ) EINFÜGEN?...
MehrArrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
Mehr2. ZELLINHALTE UND FORMELN
2. ZELLINHALTE UND FORMELN Aufgabe: In dem Beispiel Haushaltsbuch entwickeln Sie eine Kostenaufstellung, die alle monatlichen Ausgaben einzelner Sparten enthält. Darauf basierend berechnen Sie mit einfachen
MehrAccess [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten
Berichte bieten die gleichen Möglichkeit zur Berechnung von Werten wie Formulare und noch einige mehr. Im Gegensatz zu Formularen bieten Berichte die Möglichkeit, eine laufende Summe zu bilden oder Berechnungen
MehrSystemvoraussetzung < zurück weiter >
Seite 1 von 6 Systemvoraussetzung < zurück weiter > Bitte überprüfen Sie VOR der Installation von "Traffic Signs", ob ihr System folgende Vorraussetzungen erfüllt: Ist "ArcGIS Desktop" in der Version 9.0
MehrDas erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrTechnische Dokumentation SilentStatistikTool
Technische Dokumentation SilentStatistikTool Version 1.0 Marko Schröder 1115063 Inhalt Einleitung... 3 Klasse Program... 3 Klasse ArgumentHandler... 3 Bereitgestellte Variablen... 3 Bereitgestellte Methoden...
Mehr5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
MehrOutlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang
sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche
MehrAnleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
MehrVorbedingung: Office 365 wurde früher oder gleich erfolgreich für den Kunden bestellt.
Agenda 1 Prozess für den einrichten einen Office 365 Kunden. Vorbedingung: Office 365 wurde früher oder gleich erfolgreich für den Kunden bestellt. > Die ersten vier Folien unten zeigen die Möglichkeiten
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen
1 Kapitel 7 Ziele 2 (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen Benutzung von Vererbung zur Erstellung individueller GUI-Klassen durch Erweiterung
MehrIn diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.
In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrAnleitungen TYPO 3 Eingaben tätigen
Anleitungen TYPO 3 Eingaben tätigen Rufen Sie die Seite http://typo3.lpm.unisb.de/testsite/typo3/ auf! Melden Sie sich mit Benutzernamen und Passwort an! Abbildung 1 Es erscheint folgender Bildschirm:
MehrWindows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1
Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen
MehrSoftware-Engineering und Optimierungsanwendungen in der Thermodynamik
Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung
MehrDatenbanken Microsoft Access 2010
Datenbanken Microsoft Access 2010 Abfragen Mithilfe von Abfragen kann ich bestimmte Informationen aus einer/mehrerer Tabellen auswählen und nur diese anzeigen lassen die Daten einer/mehrerer Tabellen sortieren
MehrDokumentation des Projektes Tic Tac Toe
Praktikum aus Programmierung Dr. Michael Hahsler Dokumentation des Projektes Tic Tac Toe 0050230 1 Java Projekt: Tic Tac Toe 1. Inhaltsverzeichnis 1. Inhaltsverzeichnis... 2 2. Problemdefinition... 2 3.
MehrAbteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2
Inhalt 1. Printing API 1. Übersicht 2. Vorgehen 3. Beispiel 2. Klasse PrintUtils 3. Mehrere Seiten drucken Folie 1 Lernziele Sie wissen, wie Sie Swing-Komponenten ausdrucken können Sie kennen den Aufbau
MehrBereich METIS (Texte im Internet) Zählmarkenrecherche
Bereich METIS (Texte im Internet) Zählmarkenrecherche Über die Zählmarkenrecherche kann man nach der Eingabe des Privaten Identifikationscodes einer bestimmten Zählmarke, 1. Informationen zu dieser Zählmarke
MehrIntegrierte und automatisierte GUI-Tests in Java
Integrierte und automatisierte GUI-Tests in Java Gliederung Die Idee hinter GUI-Tests Herausforderungen und Probleme Techniken Jemmy-Framework Konzeptorientiertes Testen FIT (Framework for Integrated Tests)
MehrViele Bilder auf der FA-Homepage
Viele Bilder auf der FA-Homepage Standardmäßig lassen sich auf einer FA-Homepage nur 2 Bilder mit zugehörigem Text unterbringen. Sollen es mehr Bilder sein, muss man diese als von einer im Internet
MehrErstellen der Barcode-Etiketten:
Erstellen der Barcode-Etiketten: 1.) Zuerst muss die Schriftart Code-39-Logitogo installiert werden! Das ist eine einmalige Sache und muss nicht zu jeder Börse gemacht werden! Dazu speichert man zunächst
MehrInformatik Kurs Simulation. Hilfe für den Consideo Modeler
Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke
MehrKonzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens
MehrGrafische Benutzeroberflächen mit Swing
Grafische Benutzeroberflächen mit Swing KW 30, Zentralübung Informatik II 2006-07-24 Klausur: Stichpunkte 1. Auswertung System.out.println("abc" instanceof String); Ergebnis von instanceof ist ein boolean,
MehrDELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach 34 70 17 28339 Bremen. Friedrich-Mißler-Straße 42 28211 Bremen
Grontmij GmbH Postfach 34 70 17 28339 Bremen Friedrich-Mißler-Straße 42 28211 Bremen T +49 421 2032-6 F +49 421 2032-747 E info@grontmij.de W www.grontmij.de DELFI Benutzeranleitung Dateiversand für unsere
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrSCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...
Drucken - Druckformat Frage Wie passt man Bilder beim Drucken an bestimmte Papierformate an? Antwort Das Drucken von Bildern ist mit der Druckfunktion von Capture NX sehr einfach. Hier erklären wir, wie
MehrMatrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -
Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung
MehrEnigmail Konfiguration
Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es
MehrDr. Monika Meiler. Inhalt
Inhalt 4 Einführung in die Programmiersprache Java (Teil II)... 4-2 4.4 Strukturierte Programmierung... 4-2 4.4.1 Strukturierung im Kleinen... 4-2 4.4.2 Addierer (do-schleife)... 4-3 4.4.3 Ein- Mal- Eins
Mehrecaros2 - Accountmanager
ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf
Mehrinviu routes Installation und Erstellung einer ENAiKOON id
inviu routes Installation und Erstellung einer ENAiKOON id Inhaltsverzeichnis inviu routes... 1 Installation und Erstellung einer ENAiKOON id... 1 1 Installation... 1 2 Start der App... 1 3 inviu routes
MehrDaniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers
Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des
MehrAnimationen erstellen
Animationen erstellen Unter Animation wird hier das Erscheinen oder Bewegen von Objekten Texten und Bildern verstanden Dazu wird zunächst eine neue Folie erstellt : Einfügen/ Neue Folie... Das Layout Aufzählung
MehrJava Projekt: Tic Tac Toe + GUI
Java Projekt: Tic Tac Toe + GUI Rechnerpraktikum aus Programmierung im WS 2005/06 unter der Leitung von Dr. Michael Hahsler Tadeh Amirian (h0253821) 10.01.2006 1) Problemdefinition Beim TicTacToe Spiel
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
MehrPosteingang - Auf einen Blick
BUCHUNGSASSISTENT Inhalt:... Vermieterbereich: Posteingang Übersicht Auf Anfragen antworten Per Email antworten Aus dem Vermieterbereich heraus antworten Auf Anfragen antworten - verfügbar Auf Anfragen
MehrAnleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15
Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15 1 Bitte melden Sie sich über das Campusmanagementportal campus.studium.kit.edu
MehrTesten von graphischen Benutzeroberflächen. 26. Juni 2013
Testen von graphischen Benutzeroberflächen 26. Juni 2013 Überblick Testarten Methoden-, Klassen-, Komponenten-, Systemtests Motivation für automatisches Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien
MehrArbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
MehrWhitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager email-rückläufer Script. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager 7 combit Relationship Manager email-rückläufer Script Inhalt Einleitung 3 Notwendige Anpassungen 3 crm Solution
MehrGraphische Benutzungsoberflächen
Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen (graphical user interfaces, GUI) dienen zur interaktiven Bedienung von Programmen, Ein- und Ausgabe mit graphischen Techniken und visuellen
Mehrwww.computeria-olten.ch Monatstreff für Menschen ab 50 Temporäre Dateien / Browserverlauf löschen / Cookies
www.computeria-olten.ch Monatstreff für Menschen ab 50 Merkblatt 42 Temporäre Dateien / Browserverlauf löschen / Cookies Im Internet-Explorer Extras / Browserverlauf löschen Jetzt entscheiden, was man
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
MehrAufklappelemente anlegen
Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie
Mehr1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.
1 Einleitung Lernziele automatische Antworten bei Abwesenheit senden Einstellungen für automatische Antworten Lerndauer 4 Minuten Seite 1 von 18 2 Antworten bei Abwesenheit senden» Outlook kann während
MehrAngaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7
Tutorial: Wie kann ich Kontakte erfassen In myfactory können Sie Kontakte erfassen. Unter einem Kontakt versteht man einen Datensatz, der sich auf eine Tätigkeit im Zusammenhang mit einer Adresse bezieht.
MehrÜbungen zur Softwaretechnik
Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se
MehrFacharbeit Informatik. Thema:
Facharbeit Informatik Thema: Rechneraufbau Mit Locad 2002 1 Inhaltsangabe Inhalt: Seite: 1. Einleitung 3 2. Inbetriebnahme der Schaltung 3 3. Eingabe 4 4. CPU 5 5. RAM/HDD 8 6. Ausgabe 10 7. Auf einer
MehrStatuten in leichter Sprache
Statuten in leichter Sprache Zweck vom Verein Artikel 1: Zivil-Gesetz-Buch Es gibt einen Verein der selbstbestimmung.ch heisst. Der Verein ist so aufgebaut, wie es im Zivil-Gesetz-Buch steht. Im Zivil-Gesetz-Buch
MehrTextgestaltung mit dem Editor TinyMCE Schritt für Schritt
Textgestaltung mit dem Editor TinyMCE Schritt für Schritt Folgender Artikel soll veröffentlicht und mit dem Editor TinyMCE gestaltet werden: Eine große Überschrift Ein Foto Hier kommt viel Text. Hier kommt
Mehr14.4.2016. Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt
14.4.2016 Technische Hochschule Georg Agricola WORKSHOP TEIL 3 IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt Inhaltsverzeichnis 1. Kurzfassung zur Projekterstellung... 2 2. Morse-Tabelle...
MehrGUI Programmierung mit JAVA Swing
GUI Programmierung mit JAVA Swing Komponenten Layout Event Handling Imaging 2001 Thomas Weiler 1 JAVA Swing Bibliothek zur Erstellung grafischer Benutzerschnittstellen in JAVA Bietet Klassen für grafische
MehrAuftragsbearbeitung 3.1
Auftragsbearbeitung / Bearbeitung bestehender Aufträge Automatische / manuelle Soll/Ist-Aufteilung (Stempelungen) Auf Aufträge kann über das Programm 15.2.1 gestempelt werden (PC in der Werkstatt auf dem
MehrBei der Anlage von Pauschalen ist folgendes zu beachten!!!!!!!!
Bei der Anlage von Pauschalen ist folgendes zu beachten!!!!!!!! Vorgaben für Pauschen: Die Pauschale wird in der Homepage mit 3 Punkten dargestellt Titel ist der Produkttitel Pro Punkt jeweils maximal
Mehr1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.
Der Serienversand Was kann man mit der Maske Serienversand machen? 1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. 2. Adressen auswählen,
MehrZahlen auf einen Blick
Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.
MehrPraktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt
MehrJava Lab 2006/12/13 Client
Java Lab 2006/12/13 Client Prof. Dr. Bernhard Humm Version: 1.0 Date: 2006/12/06 Darmstadt University of Applied Sciences Department of Computer Science Schöfferstr. 8b 64295 Darmstadt Germany 1 Einleitung
MehrELSTER Daten versenden
ELSTER Daten versenden Hauptmenü: Über den Haupt-Menüpunkt ELSTER gelangen Sie zu allen wichtigen Funktionen rund um ELSTER. - Verfügbarkeit: Sie können hierüber die Verfügbarkeit der ELSTER-Server für
MehrBENUTZERHANDBUCH für. www.tennis69.at. Inhaltsverzeichnis. 1. Anmeldung. 2. Rangliste ansehen. 3. Platzreservierung. 4. Forderungen anzeigen
BENUTZERHANDBUCH für www.tennis69.at Inhaltsverzeichnis Einleitung 1. Anmeldung 2. Rangliste ansehen 3. Platzreservierung 4. Forderungen anzeigen 5. Forderung eintragen 6. Mitgliederliste 7. Meine Nachrichten
Mehr4. BEZIEHUNGEN ZWISCHEN TABELLEN
4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe
MehrI Serverkalender in Thunderbird einrichten
I Serverkalender in Thunderbird einrichten Damit Sie den Kalender auf dem SC-IT-Server nutzen können, schreiben Sie bitte zuerst eine Mail mit Ihrer Absicht an das SC-IT (hilfe@servicecenter-khs.de). Dann
MehrLieferschein Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.
Lieferschein Lieferscheine Seite 1 Lieferscheine Seite 2 Inhaltsverzeichnis 1. STARTEN DER LIEFERSCHEINE 4 2. ARBEITEN MIT DEN LIEFERSCHEINEN 4 2.1 ERFASSEN EINES NEUEN LIEFERSCHEINS 5 2.1.1 TEXTFELD FÜR
Mehr8 Design Patterns. Events
8 Design Patterns. Events Jörn Loviscach Versionsstand: 28. März 2015, 19:13 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work
MehrDatenbanken Kapitel 2
Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,
MehrBEDIENUNG ABADISCOVER
BEDIENUNG ABADISCOVER Juni 2005 / EMO v.2005.1 Diese Unterlagen sind urheberrechtlich geschützt. Alle Rechte, auch die der Übersetzung, des Nachdrucks und der Vervielfältigung der Unterlagen, oder Teilen
Mehr