WPF Events. Ereignisse und Ereignisbehandlung. Dr. Beatrice Amrhein

Größe: px
Ab Seite anzeigen:

Download "WPF Events. Ereignisse und Ereignisbehandlung. Dr. Beatrice Amrhein"

Transkript

1 WPF Events Ereignisse und Ereignisbehandlung Dr. Beatrice Amrhein

2 Überblick Einführung Die wichtigsten Ereignisse Der C# Code Behind Die Verbindung von WPF und C# Code Einige Beispiele 2

3 Einführung 3

4 Einführung Ein Ereignis tritt immer dann auf, wenn sich der Zustand der des GUI oder der Anwendung ändert. Ein Button wird angeklickt. Der Text einer TextBox wird verändert Die Grösse des Fensters wird verändert Die Maus wird bewegt... Button, TextBox, Window,. Der angemeldete Ereignis-Behandler (EventListener) reagiert auf das entsprechende Ereignis. 4

5 Die wichtigsten Ereignisse Ereignis-Quelle Registriertes Ereignis Button Click Text-Komponente GotFocus / LostFocus / TextChanged Das Anklicken eines Buttons bewirkt ein Click-Event. Eine fokussierbare Komponente (Button, Text-Komponente, Fenster, ) wird zum Beispiel durch Anklicken mit der Maus aktiviert (GotFocus). Durch Anklicken einer anderen Komponente oder durch Drücken der Tabulator-Taste wird der Fokus abgegeben, bzw. an eine andere Komponente weitergegeben (LostFocus). Der Inhalt einer Textkomponente ändert sich (TextChanged). 5

6 Die wichtigsten Ereignisse Ereignis-Quelle Registriertes Ereignis Window Activated / Deactivated Event / Closing / Closed / Alle Mouse-Events (MouseEnter / MouseLeave / MouseMove, ) Key-Events (KeyUp / KeyDown) Focus-Events (GotFocus / LostFocus) Ein Fenster wird durch das Öffnen aktiviert, durch das Schliessen (verkleinert zum Icon) deaktiviert (Activated-/Deactivated). Bevor ein Fenster geschlossen ist (Closed-Event) kann (zum Beispiel für das Speichern des atuellen Zustands) ein Closing Event aufgerufen werden. Auf allen Steuerelementen werden Maus-Ereignisse ausgelöst (hineinfahren, verlassen, ) Das Drücken und Loslassen der Tasten auf der Tastatur bewirkt jeweils ein KeyUp, bzw. ein KeyDown Event. 6

7 Ereignis-Bindung via Eigenschaften Editor 7

8 Click-Ereignis an einen Button verknüpfen MainWindow.xaml <Window x:class="ev1.mainwindow" xmlns=" xmlns:x=" Title="MainWindow" Height="250" Width="340" FontSize="20"> <WrapPanel Margin="20" Width="300"> <Button Content="Gelb" Name="B1" Margin="20" Width="100"/> <Button Content="Grün" Name="B2" Margin="20" Width="100"/> <Label Name="label1" Margin="20" Width="260"></Label> </WrapPanel> </Window> Den Fokus auf den Button «Gelb» setzen 8

9 Click-Ereignis an einen Button verknüpfen Im Eigenschaften-Fenster (Properties) auf die Ereignishandler wechseln Beim Click-Ereignis den Namen des Ereignis- Behandlers (z.b. B1_Click) eintippen und mit «Enter» abschliessen. Dadurch wird das entsprechende Event (Ereignis) an dem Button angemeldet (registriert). 9

10 Click-Ereignis: MainWindow.xaml.cs using System.Windows; namespace ev1 public partial class MainWindow : Window public MainWindow() InitializeComponent(); Visual Studio wechselt den Fokus automatisch auf den Editor in MainWindow.xaml.cs, wo der leere Ereignis-Behandler erzeugt wurde. private void B1_Click(object sender, RoutedEventArgs e) Ereignis-Behandler dürfen zwar beliebige Namen haben, sie müssen aber immer genau die vorgegebene Signatur haben. 10

11 Click-Ereignis an einen Button verknüpfen using System.Windows; namespace ev1 public partial class MainWindow : Window public MainWindow() InitializeComponent(); private void B1_Click(object sender, RoutedEventArgs e) label1.content = "Hallo"; label1.background = Brushes.Yellow; Den Inhalt (die Logik) der Ereignis-Behandlung muss von Hand eingegeben (programmiert) werden. 11

12 Click-Ereignis an einen Button verknüpfen Für den zweiten Button (B2) kann analog vorgegangen werden. Für das Click-Ereignis des Button B2 den Namen des Ereignis-Behandlers (z.b. B2_Click) eintippen und mit «Enter» abschliessen. 12

13 Click-Ereignisse: MainWindow.xaml.cs namespace ev1 public partial class MainWindow : Window public MainWindow() InitializeComponent(); private void B1_Click(object sender, RoutedEventArgs e) label1.content = "Hallo"; label1.background = Brushes.Yellow; private void B2_Click(object sender, RoutedEventArgs e) Auch für B2_Click wird eine leere Hülle erzeugt, welche dann «von Hand» ausprogrammiert werden muss 13

14 Click-Ereignisse: MainWindow.xaml.cs namespace ev1 public partial class MainWindow : Window public MainWindow() InitializeComponent(); private void B1_Click(object sender, RoutedEventArgs e) label1.content = "Hallo"; label1.background = Brushes.Yellow; private void B2_Click(object sender, RoutedEventArgs e) label1.content = "Tschüss"; label1.background = Brushes.GreenYellow; 14

15 Click-Ereignis: MainWindow.xaml <Window x:class="ev1.mainwindow" xmlns=" xmlns:x=" Title="MainWindow" Height="200" Width="340" FontSize="20"> <WrapPanel Margin="20" Width="300"> <Button Content="Gelb" Name="B1" Margin="20" Width="100" Click="B1_Click"/> <Button Content="Grün" Name="B2" Margin="20" Width="100" Click="B2_Click"/> <Label Name="label1" Margin="20" Width="260"></Label> </WrapPanel> </Window> Im XAML Code wurden automatisch die entsprechenden Ereignis- Behandler registriert. 15

16 Maus-Ereignis an ein Label verknüpfen Auch an ein Label kann ein Ereignis (z.b. ein Maus-Ereignis) verknüpft werden. MainWindow.xaml <Window x:class="ev1.mainwindow" xmlns=" xmlns:x=" Title="MainWindow" Height="250" Width="340" FontSize="20"> <WrapPanel Margin="20" Width="300"> <Button Content="Gelb" Name="B1" Margin="20" Width="100" Click="B1_Click"/> <Button Content="Grün" Name="B2" Margin="20" Width="100" Click="B2_Click"/> <Label Name="label1" Margin="20" Width="260"></Label> </WrapPanel> </Window> Den Fokus auf das leere Label «label1» setzen 16

17 Maus-Ereignis an ein Label verknüpfen Aus der Liste der möglichen Ereignisse «MouseEnter» auswählen und z.b. LabelMausEnterals Name des Ereignis-Behandlers wählen und mit «Enter» abschliessen. Dies erzeugt im File MainWindow.xaml.cs den folgenden Ereignis-Behandler private void LabelMausEnter(object sender, MouseEventArgs e) 17

18 Maus-Ereignis: MainWindow.xaml.cs namespace ev1 public partial class MainWindow : Window public MainWindow() InitializeComponent(); private void B1_Click(object sender, RoutedEventArgs e)... private void B2_Click(object sender, RoutedEventArgs e)... private void LabelMausEnter(object sender, MouseEventArgs e) label1.background = Brushes.White; Den Ereignis-Code im Ereignis- Behandler ergänzen 18

19 Maus-Ereignis: MainWindow.xaml <Window x:class="ev1.mainwindow" xmlns=" xmlns:x=" Title="MainWindow" Height="250" Width="340" FontSize="20"> <WrapPanel Margin="20" Width="300"> <Button Content="Gelb" Name="B1" Margin="20" Width="100" Click="B1_Click"/> <Button Content="Grün" Name="B2" Margin="20" Width="100" Click="B2_Click"/> <Label Name="label1" Margin="20" Width="260" MouseEnter="LabelMausEnter"/> </WrapPanel> </Window> Vom Eigenschaften-Editor erzeugte Verknüpfung. Der Effekt: Sobald die Maus über das Label fährt, wird die Hintergrundfarbe wieder auf weiss gesetzt. 19

20 Ereignisse an Eigenschaften- Änderungen verknüpfen 20

21 Daten-Änderungen überwachen Ein Label soll jeweils den aktuellen Wert eines Zählers anzeigen. Jedesmal wenn der Wert des Zählers sich ändert, muss das Label den Wert neu lesen und darstellen. Der Button soll bei jedem Klick den Wert des Zählers um 1 erhöhen Der Zähler soll eine überwachte Eigenschaft (Property) sein und bei jeder Änderung den neuen Wert dem Label wieder bekannt geben. 21

22 Daten-Änderungen überwachen: MainWindow.xaml.cs <Window x:class="ev4.mainwindow" xmlns=" xmlns:x=" Title="MainWindow" Height="150" Width="250" FontSize="20"> <StackPanel Orientation="Vertical" > <Button Margin="15" Click="ButtonClick"> Erhöhe den Wert </Button> <Label HorizontalAlignment="Center"> <Binding Path="Zaehler"/> </Label> </StackPanel> </Window> In einem vertikalen StackPanelButton und Label einfügen. Im Button den Click-Event Ereignis- Behandler, im Label das Data-Binding definieren. 22

23 Daten-Änderungen überwachen: MainWindow.xaml.cs using System.Windows; namespace ev4 public partial class MainWindow : Window Daten daten; public MainWindow() InitializeComponent(); daten = new Daten(); DataContext = daten; Daten Objekt erzeugen und als DataContext festlegen private void ButtonClick(object sender, RoutedEventArgs e) daten.erhoehe(); ButtonClickMethode programmieren. 23

24 Daten-Änderungen überwachen: Daten Klasse using System.ComponentModel; using System.Windows.Media; namespace ev4 class Daten : INotifyPropertyChanged public event PropertyChangedEventHandler PropertyChanged; Damit die Klasse Datenüberwachte Eigenschaften (Properties) haben kann, muss sie das Interface INotifyPropertyChanged implementieren. Das Interface bietet ein event vom Typ PropertyChangedEventHandler, welches PropertyChangedheisst. Dieses ist bereits in C# implementiert und kann hier benutzt werden. 24

25 Daten-Änderungen überwachen: Daten Klasse Die Ereignis-Methode PropertyChanged bewirkt, dass jede Daten- Änderung der Property mit Namen propertynamean das GUI bekannt gegeben wird. PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 25

26 Property Zaehler überwachen: Daten Klasse private int zaehler = 0; public int Zaehler get return zaehler; set zaehler = value; PropertyChanged(this, new PropertyChangedEventArgs("Zaehler")); Durch den Aufruf von PropertyChanged in der set- Methode wird Zaehler eine überwachte Property. Jede Wert-Änderung von Zaehlerwird sofort an das GUI bekannt gegeben. 26

27 Die vollständige Daten Klasse class Daten : INotifyPropertyChanged public event PropertyChangedEventHandler PropertyChanged; private int zaehler = 0; public int Zaehler get return zaehler; set zaehler = value; PropertyChanged(this, new PropertyChangedEventArgs("Zaehler")); public void Erhoehe() Zaehler = Zaehler+1; Die Methode Erhoehe wird von der EreignisMethode ButtonClickaufgerufen und erhöht jeweils den Wert von Zaehler um 1. Dadurch wird die set-methode von Zaehleraufgerufen, welche ein PropertyChanged event erzeugt, welches die Änderungs- Meldung an das GUI ausliefert. 27

28 Der vollständige Ablauf Button Click 1 2 MainWindow.xaml <Button Click="ButtonClick">... MainWindow.xaml.cs 3 MainWindow.xaml <Label> <Binding Path="Zaehler"/> </Label> public int Zaehler get return zaehler; set zaehler = value; 7 6 private void ButtonClick(object sender, RoutedEventArgs e) daten.erhoehe(); 5 4 Daten.cs public void Erhoehe() Zaehler = Zaehler+1; PropertyChanged(this, new PropertyChangedEventArgs("Zaehler")); 28

29 Mehrere Eigenschaften einer Klasse überwachen 29

30 Weitere überwachte Eigenschaft: LabelFarbe private Brush labelfarbe; public Brush LabelFarbe get return labelfarbe; set labelfarbe = value; PropertyChanged(this, new PropertyChangedEventArgs("LabelFarbe")); Die Daten Klasse wird um eine weitere überwachte Eigenschaft (hier LabelFarbe) erweitert. Auch diese ruft bei jeder Änderung die Ereignis- Methode PropertyChanged auf. 30

31 Erweiterte ErhoeheMethode public void Erhoehe() Zaehler = Zaehler+1; if(zaehler > 5) LabelFarbe = Brushes.Yellow; if (Zaehler > 10) LabelFarbe = Brushes.YellowGreen; if (Zaehler > 15) LabelFarbe = Brushes.Green; Wir ändern in der Erhöhe Methode (abhängig vom Wert von Zaehler) den Wert der überwachten Eigenschaft LabelFarbe. 31

32 Verbinden der Hintergrundfarbe des Labels <Window x:class="ev5.mainwindow" xmlns=" xmlns:x=" Title="MainWindow" Height="150" Width="250" FontSize="20"> <StackPanel Orientation="Vertical" > <Button Margin="15" Click="ButtonClick"> Erhöhe den Wert </Button> <Label HorizontalAlignment="Center" Background="Binding LabelFarbe"> <Binding Path="Zaehler"/> </Label> </StackPanel> </Window> Die Hintergrundfarbe des Labels wird an die Eigenschaft LabelFarbe der Klasse Daten gebunden. 32

33 Der Ereignis-Ablauf für Hintergrund Farbe des Labels Button Click 1 2 MainWindow.xaml <Button Click="ButtonClick">... MainWindow.xaml.cs 3 MainWindow.xaml 7 <Label Background="Binding LabelFarbe> <Binding Path="Zaehler"/> </Label> private void ButtonClick(object sender, RoutedEventArgs e) daten.erhoehe(); Daten.cs 6 public void Erhoehe()... LabelFarbe = Brushes.Green; set 5 labelfarbe = value; PropertyChanged(this, new PropertyChangedEventArgs("LabelFarbe")); 4 33

34 TimerEvents Stoppuhr 34

35 Stoppuhr: MainWindow.xaml <Window x:class="ev4.mainwindow" xmlns=" xmlns:x=" Title="MainWindow" Height="150" Width="300" FontSize="18"> <DockPanel> <UniformGrid Rows="1" DockPanel.Dock="Bottom" Margin="20,5"> <Button Content="Start" Click="StartEvent"/> <Button Content="Stop" Click="StopEvent"/> <Button Content="Reset" Click="ResetEvent"/> </UniformGrid> <UniformGrid Rows="1" Margin="20,20,20,5"> <Label HorizontalAlignment="Center">Sekunden</Label> <Label HorizontalAlignment="Center"> <Binding Path="Time"/> </Label> </UniformGrid> </DockPanel> </Window> Die drei Buttons erhalten je ein Click Event. Das Label wird an die Property Time gebunden. 35

36 Stoppuhr: MainWindow.xaml.cs using System.Windows; namespace ev4 public partial class MainWindow : Window Stoppuhr stoppuhr; public MainWindow() InitializeComponent(); stoppuhr = new Stoppuhr(); DataContext = stoppuhr; Stoppuhr erzeugen und als DataContext (Daten- Quelle) setzen. 36

37 Stoppuhr: MainWindow.xaml.cs private void StartEvent(object sender, RoutedEventArgs e) stoppuhr.start(); private void StopEvent(object sender, RoutedEventArgs e) stoppuhr.stop(); Die Ereignis-Methoden für die Buttons (Start, Stop und Reset) private void ResetEvent(object sender, RoutedEventArgs e) stoppuhr.reset(); 1 2 <Button Content="Start" Click="StartEvent"/> MainWindow.xaml private void StartEvent(object sender, RoutedEventArgs e)... 3 MainWindow.xaml.cs 4 public void Start()... StoppUhr.cs 37

38 Die Klasse Stoppuhr using System; using System.ComponentModel; using System.Windows.Threading; namespace ev4 public class Stoppuhr : INotifyPropertyChanged public event PropertyChangedEventHandler PropertyChanged; Die Klasse Stoppuhr soll überwachte Eigenschaften (Properties) haben. Sie muss darum INotifyPropertyChanged implementieren. private DispatcherTimer dispatchertimer; private int intervall = 250; Für das Messen der aktuellen Zeit benötigen wir einen Timervom Typ DispacherTimer(C# Klasse). In der Variablen intervallwird gespeichert, wie viele Millisekunden zwischen zwei Timer-Events verstreichen sollen. 38

39 Die Klasse Stoppuhr public Stoppuhr() dispatchertimer = new DispatcherTimer(); dispatchertimer.interval = new TimeSpan(0, 0, 0, 0, intervall); dispatchertimer.tick += new EventHandler(TimerEvent); private double anzahlticks; public double AnzahlTicks get return anzahlticks; set anzahlticks = value; Der Konstruktor erzeugt ein Dispatcher- TimerObjekt. Das Timer-Intervall wird auf die vordefinierte Anzahl Millisekunden gesetzt. Das Ereignis (Delegate) der Klasse DispacherTimerheisst Tick. An dieses muss unser EventHandlerangemeldet werden. AnzahlTicks speichert die Anzahl Timer- Events, welche seit dem Starten der Stoppuhr eingetroffen sind. 39

40 Die Klasse Stoppuhr private String time; public String Time get return time; set time = value; AenderungMelden("Time"); Time ist eine überwachte Property. Sie speichert, wieviel Zeit seit dem Starten der Stoppuhr verstrichen ist. private void AenderungMelden(String propertyname) if (PropertyChanged!= null) PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); Die Methode AenderungMelden meldet die Datenänderung, mit Hilfe eines PropertyChange Events. 40

41 Die Klasse Stoppuhr: Das TimerEvent private void TimerEvent(object sender, EventArgs e) AnzahlTicks++; int min = (int)anzahlticks * intervall / 60000; double sec = AnzahlTicks * intervall / min * 60; Time = String.Format(" 0m 1:F2s", min, sec); Die Methode TimerEventerhöht die AnzahlTicks und berechnet daraus die verstrichene Zeit in Minuten und Sekunden. Time ist dann der formatierte Ausgabe-String. 41

42 Die Klasse Stoppuhr: Start/Stop/Reset public void Start() dispatchertimer.start(); public void Stop() dispatchertimer.stop(); Die Methoden Start und Stop sind für das Steuern des Timers zuständig. public void Reset() AnzahlTicks = 0; Time = "0s 0.00m"; Die Methode Resetsetzt die Zeit (Anzahl Ticks) auf 0 zurück. Start() Stoppuhr Start() DispacherTimer Nach 250 msec TimerEvent() Stoppuhr AnzahlTicks++; Time =... AenderungMelden() PropertyChanged 42

WPF Steuerelemente. Dr. Beatrice Amrhein

WPF Steuerelemente. Dr. Beatrice Amrhein WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einf führung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,

Mehr

WPF Steuerelemente Listbox, ComboBox, ListView,

WPF 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,

Mehr

Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein

Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente Dr. Beatrice Amrhein Überblick Die Architektur WPF Projekt erstellen Steuerelemente einfügen Eigenschaften von Steuerelementen ändern Nach

Mehr

WPF Bindung. Dr. Beatrice Amrhein

WPF Bindung. Dr. Beatrice Amrhein WPF Bindung Element- und Daten-Bindung Dr. Beatrice Amrhein Überblick Element-Bindung via Eigenschaften-Editor Grenzen des Eigenschaften Editors Die C# Klasse Binding Bindung an C# Objekte 2 Einführung

Mehr

Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein

Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente Dr. Beatrice Amrhein Überblick Die Architektur WPF Projekt erstellen Steuerelemente einfügen Eigenschaften von Steuerelementen ändern Nach

Mehr

Klausur GUI-Entwicklung WS10/11 1.Termin

Klausur GUI-Entwicklung WS10/11 1.Termin Klausur GUI-Entwicklung WS10/11 1.Termin Aufgabe 1) (8 Punkte) Sie sehen die folgenden Angaben im Projektmappen-Explorer von Visual Studio 2010: a) Erläutern Sie die Bestandteile dieses WPF-Projekts! (5

Mehr

Ereignisse (Events) Asynchrones Versenden von Informationen Sender (Herausgeber) Empfänger (Abonnent) Dr. Beatrice Amrhein

Ereignisse (Events) Asynchrones Versenden von Informationen Sender (Herausgeber) Empfänger (Abonnent) Dr. Beatrice Amrhein Ereignisse (Events) Asynchrones Versenden von Informationen Sender (Herausgeber) Empfänger (Abonnent) Dr. Beatrice Amrhein Überblick Definition eines Ereignisses Sender und Empfänger Einfache Ereignisse

Mehr

GUI-Programmierung 2 - WPF

GUI-Programmierung 2 - WPF GUI-Programmierung 2 - WPF Proseminar Objektorientiertes Programmieren mit.net und C# Alexander Aumann Institut für Informatik Software & Systems Engineering Übersicht Einleitung und Unterschiede zu WindowsForms

Mehr

Window Presentation Foundation

Window Presentation Foundation Window Presentation Foundation Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Inhalt Einführung WPF

Mehr

WPF. Übersicht. Komponenten & Frameworks Seite 1

WPF. Übersicht. Komponenten & Frameworks Seite 1 Übersicht - W indows P resentation F oundation - Werkzeug zur Entwicklung grafischer Benutzeroberflächen - deklarative Definition erfolgt mit der Beschreibungs- Sprache: XAML - XAML - Extensible Application

Mehr

XAML Extensible Application Markup Language. Manuel Naujoks (IB3)

XAML Extensible Application Markup Language. Manuel Naujoks (IB3) Extensible Application Markup Language Manuel Naujoks (IB3) Einführung Beschreibungssprachen Vorteile Nachteile Agenda technisch Aufbau Kompilierung Verarbeitung zur Laufzeit Routed Events Zusammenfassung

Mehr

NEU: Windows Forms-Anwendungen Projekt erstellen / Bereiche der IDE Eigenschaften Quelltext für Steuerelemente schreiben

NEU: Windows Forms-Anwendungen Projekt erstellen / Bereiche der IDE Eigenschaften Quelltext für Steuerelemente schreiben 22.04.2016 Seite 1 NEU: Windows Forms-Anwendungen TOP1 TOP2 TOP3 TOP4 Projekt erstellen / Bereiche der IDE Eigenschaften Quelltext für Steuerelemente schreiben Aufgaben 22.04.2016 Seite 2 Projekt erstellen

Mehr

Programmieren für Wirtschaftswissenschaftler SS 2015

Programmieren für Wirtschaftswissenschaftler SS 2015 DEPARTMENT WIRTSCHAFTSINFORMATIK FACHBEREICH WIRTSCHAFTSWISSENSCHAFT Programmieren für Wirtschaftswissenschaftler SS 2015 Lucian Ionescu Blockveranstaltung 16.03 27.3.2015 7. Graphische Oberflächen Ein

Mehr

Statische und Nichtstatische Methoden Properties/ Eigenschaften

Statische und Nichtstatische Methoden Properties/ Eigenschaften Statische und Nichtstatische Methoden Properties/ Eigenschaften Statische Methoden Definition und Merkmale von Properties Modifizierer Beispiele Nebeneffekte Dr. Beatrice Amrhein Statische / Nichtstatische

Mehr

GUI-Entwicklung 2: Windows Presentation Foundation

GUI-Entwicklung 2: Windows Presentation Foundation GUI-Entwicklung 2: Windows Presentation Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Sandra Müller Institut für Informatik Software & Systems Engineering Agenda 1. Die WPF 2. Einführung

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Window Presentation Foundation

Window Presentation Foundation Window Presentation Foundation Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338

Mehr

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung

Mehr

Model-View-ViewModel (MVVM)

Model-View-ViewModel (MVVM) 1 Model-View-ViewModel (MVVM) Grundlagen und Einsatz des GUI-Architekturmusters W3L AG info@w3l.de 2011 2 Agenda Motivation Architekturmuster MVVM-Pattern Fazit Aufbau & Komponenten Technische Grundlagen

Mehr

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ EAD II Übung 5 Graphische Benutzungsoberfläche mit BlueJ Graphische Benutzungsoberfläche (GUI) Fenster, das weitere Komponenten zur Darstellung und Interaktion enthält spezielle Standardbibliotheken erforderlich,

Mehr

Zahlenraten: Ein Spiel in Java.

Zahlenraten: Ein Spiel in Java. Zahlenraten: Ein Spiel in Java. Nach dem Start vom Java-Editor (und dem Erstellen eines JFrame-Programms) sieht man Folgendes: Dieser Code startet das Programm, indem es ein Objekt der Klasse Zahlenraten

Mehr

Windows Presentation Foundation

Windows Presentation Foundation Folie 1 Windows Presentation Foundation Workshop Teil 2 Pawel Kazakow Bjoern Hass pawel.kazakow@studentprogram.de bjoern.hass@studentprogram.de Folie 2 Windows Presentation Foundation Besprechung der Praxisaufgabe

Mehr

Multithreading mit WPF

Multithreading mit WPF Kapitel 10 Multithreading mit WPF In diesem Kapitel: Eine neue Ausnahme 442 Das Dispatcher-Objekt 444 Die Klasse DispatcherTimer 450 Die Klasse BackgroundWorker 451 WPF und die Task Parallel Library (TPL)

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Windows Presentation Foundation - Crashkurs

Windows Presentation Foundation - Crashkurs Windows Presentation Foundation - Crashkurs von Bernd Marquardt 1. Auflage Windows Presentation Foundation - Crashkurs Marquardt schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Thematische

Mehr

Kapitel 9 Schnittstellen

Kapitel 9 Schnittstellen Kapitel 9 Schnittstellen Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Agenda Was ist eine Schnittstelle?

Mehr

Hochschule der Medien Prof. Uwe Schulz 13. Juli 2009 Klausur Informatik, EDV-Nr Seite 1 von 6. Teil 2: Aufgaben

Hochschule der Medien Prof. Uwe Schulz 13. Juli 2009 Klausur Informatik, EDV-Nr Seite 1 von 6. Teil 2: Aufgaben Hochschule der Medien Prof Uwe Schulz 13 Juli 2009 Klausur Informatik, EDV-Nr 40301 Seite 1 von 6 Name: Matr Nr: Teil 2: Aufgaben Hilfsmittel: Bearbeitungszeit: alle außer tragbare Computer und Nachbar

Mehr

WINDOWS PRESENTATION FOUNDATION (WPF) Martin Kühn 08.03.2012

WINDOWS PRESENTATION FOUNDATION (WPF) Martin Kühn 08.03.2012 WINDOWS PRESENTATION FOUNDATION (WPF) Martin Kühn 08.03.2012 Übersicht Theorie hinter WPF Grundlagen von XAML Dependency Properties Templates Vortragsdauer: ca. 30 Minuten THEORIE HINTER WPF Theorie hinter

Mehr

XAML Deep Dive. Mehr als "nur" WPF. Mathias Raacke Neovelop GmbH

XAML Deep Dive. Mehr als nur WPF. Mathias Raacke Neovelop GmbH Mehr als "nur" WPF Mathias Raacke Neovelop GmbH Mehr als nur WPF... Anwendungsgebiete von XAML Welche Einsatzgebiete gibt es neben WPF / Silverlight? XAML Services in.net 4 Wie kann man mit XAML Dateien

Mehr

Zustände umsetzen Enumerations (Aufzählungen) Zustandsobjekte

Zustände umsetzen Enumerations (Aufzählungen) Zustandsobjekte Zustände umsetzen Enumerations (Aufzählungen) Zustandsobjekte Dr. Beatrice Amrhein Kursinhalt Aufzählungen erzeugen Aufzählungen verwenden Zustandsobjekte erzeugen Zustandsobjekte verwenden Nach dem Handbuch

Mehr

Ereignisse (Events) in Java

Ereignisse (Events) in Java Ereignisse (Events) in Java werden durch Aktionen an GUI-Komponenten ausgelöst Quelle: GUI-Komponente, die ein Ereignis als Instanz einer Event-Klasse erzeugt Beispiel: ein Button, der angeklickt wird

Mehr

HTk: Ein GUI für Haskell

HTk: Ein GUI für Haskell HTk: Ein GUI für Haskell URL: www.informatik.uni-bremen.de/htk/ HTk basiert auf dem GUI von Tcl/Tk Haskell: monadische Programmieroberfläche strukturiert in viele Typklassen GUI-Objekte Event-Verarbeitung

Mehr

Informatik Klasse 13, Foliensatz 7 Maus-Ereignisse

Informatik Klasse 13, Foliensatz 7 Maus-Ereignisse Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 29. Oktober 2009 1/12 Informatik Klasse 13, Foliensatz 7 Maus-Ereignisse Prof. G. Kemnitz Institut für Informatik, Technische

Mehr

FB Automatisierung und Informatik Grafische Nutzerschnittstellen mit.net Thema: Erstellen eines Rahmens für ein CAD-Programm

FB Automatisierung und Informatik Grafische Nutzerschnittstellen mit.net Thema: Erstellen eines Rahmens für ein CAD-Programm Hochschule Harz 1. Labor: Aufbau des Programms FB Automatisierung und Informatik Grafische Nutzerschnittstellen mit.net Thema: Erstellen eines Rahmens für ein CAD-Programm Versuchsziele Konzepte der WPF-Layout-Programmierung

Mehr

Arbeitsblatt 5 EAD II NetBeans

Arbeitsblatt 5 EAD II NetBeans Arbeitsblatt 5 EAD II NetBeans Graphische Oberfläche für Uhrenanzeige mit NetBeans Für die Einführung in die Verwendung von NetBeans erstellen wir die graphische Oberfläche für die Uhr nun mit NetBeans.

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1 Kapitel 7 Grafische Benutzeroberflächen Grafische Benutzeroberflächen 1 Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen.

Mehr

Rückgabewerte von Methoden

Rückgabewerte von Methoden OOP Rückgabewerte von Methoden Henrik Horstmann 14. September 2014 Inhaltsverzeichnis Inhaltsverzeichnis 1 Bedeutung der Symbole...1 2 Rückgabewerte von Methoden...2 3 Der freundliche Computer...2 3.1

Mehr

Funktionale und Objekt-Orientierte Programmierkonzepte

Funktionale und Objekt-Orientierte Programmierkonzepte Funktionale und Objekt-Orientierte Programmierkonzepte Prof. Marc Fischlin, Wintersemester 15/16 Kapitel 17: GUI, Threads und verschachtelte Klassen 13. Oktober 2010 Dr.Marc Fischlin Kryptosicherheit 1

Mehr

Delegates. «Delegierter» Methoden Schablone Funktionszeiger. Dr. Beatrice Amrhein

Delegates. «Delegierter» Methoden Schablone Funktionszeiger. Dr. Beatrice Amrhein Delegates «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen 2 Definition 3 Definition Ein Delegat

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik GUI-Programmierung mit Swing AWT und Swing Java enthält zwei Pakete zur Programmierung graphischer Oberflächen. java.awt: Das Abstract

Mehr

Windows Presentation Foundation - Crashkurs

Windows Presentation Foundation - Crashkurs Bernd Marquardt Microsoft Windows Presentation Foundation - Crashkurs 2. überarbeitete Auflage Microsoft Vorwort - ll Für wen ist dieses Buch gedacht? 12 Beispieldateien zu diesem Buch 12 Support 12 1

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute

Mehr

Universität Stuttgart Programmierübung Bildschirmschoner

Universität Stuttgart Programmierübung Bildschirmschoner Programmierübung Bildschirmschoner Ilona Heurich C# Warum C#? In Windows-Umgebung leicht zu handhaben In Wirtschaft häufig verwendet Ähnliche Sprachbausteine wie andere verbreitete Sprachen (Java, C++,

Mehr

MVVM in Windows 8 und Windows Phone 8

MVVM in Windows 8 und Windows Phone 8 Basel MVVM in Windows 8 und Windows Phone 8 Thomas Claudius Huber Trivadis AG Thomas Claudius Huber Principal Consultat bei Trivadis www.trivadis.com www.thomasclaudiushuber.com Trainer, Coach, Developer,

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Thomas Claudius Huber. Alles, was Sie über XAML wissen müssen

Thomas Claudius Huber. Alles, was Sie über XAML wissen müssen Thomas Claudius Huber Alles, was Sie über XAML wissen müssen Thomas Claudius Huber Principal Consultant @ Trivadis AG Trainer, Coach, Developer, Architect www.thomasclaudiushuber.com Spezialisiert auf

Mehr

DATENBANK MAGAZIN FÜR DIE DATENBANKENTWICKLUNG MIT VISUAL STUDIO FÜR DESKTOP, WEB UND CO.

DATENBANK MAGAZIN FÜR DIE DATENBANKENTWICKLUNG MIT VISUAL STUDIO FÜR DESKTOP, WEB UND CO. AUSGABE 04/2017 DATENBANK MAGAZIN FÜR DIE DATENBANKENTWICKLUNG MIT VISUAL STUDIO FÜR DESKTOP, WEB UND CO. TOP-THEMEN: C#-BASICS USERINTERFACE USERINTERFACE DATENZUGRIFF ANWENDUNGEN Basics: ObservableCollection

Mehr

Interfaces. Definition von Interfaces Verwendung von Interfaces Vordefinierte Interfaces Beispiele. Dr. Beatrice Amrhein

Interfaces. Definition von Interfaces Verwendung von Interfaces Vordefinierte Interfaces Beispiele. Dr. Beatrice Amrhein Interfaces Definition von Interfaces Verwendung von Interfaces Vordefinierte Interfaces Beispiele Dr. Beatrice Amrhein Definition: Interface Ein Interface dient dazu, Schnittstellen klar zu definieren

Mehr

Windows Forms Projekte mit C++ in Visual Studio 2017

Windows Forms Projekte mit C++ in Visual Studio 2017 Windows Forms Projekte mit C++ in Visual Studio 2017 In diesem kleinen Auszug aus dem Buch wird kurz gezeigt, wie man mit Visual Studio 2017 und früheren Versionen Windows- Programme mit einer grafischen

Mehr

Erstellen von speziellen Ereignissen in C#

Erstellen von speziellen Ereignissen in C# Erstellen von speziellen Ereignissen in C# Anhand eines Projekts, das demonstriert, wie spezielle Ereignisse ausgelöst werden und wie sie sich auf den verwendeten Code auswirken, zeigen wir Ihnen, wie

Mehr

Einführung in die OOP mit Java

Einführung in die OOP mit Java Einführung in die OOP mit Java Das Event-Hanlding Übersicht Event - Handling Das im JDK 1.1 Grundlagen Ereignistypen Ereignisquellen Adapterklassen für den Nachrichtenverkehr Variante1: Implementierung

Mehr

Model-View-Controller. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1

Model-View-Controller. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Model-View-Controller Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Model View Controller (MVC) Architekturmuster für die Gestaltung von interaktiven Oberflächen 3 Komponenten Model: Datenmodell

Mehr

WPF und MVVM mit Visual Studio 2015/2017

WPF und MVVM mit Visual Studio 2015/2017 Richard Kaiser www.rkaiser.de WPF und MVVM mit Visual Studio 2015/2017 1/18 Inhalt 1 Die Entwicklungsumgebung... 1 1.1 Elementare WPF-Konzepte: Ein erstes kleines Programm... 1 1.1.1 Ein WPF-Projekt anlegen...

Mehr

VON MVC ZU MODEL-VIEW-VIEWMODEL

VON MVC ZU MODEL-VIEW-VIEWMODEL VON MVC ZU MODEL-VIEW-VIEWMODEL Wissenschaftliche Vertiefung von Lukas Jaeckle Studiengang Softwaretechnik und Medieninformatik Folie 1 von 18 Agenda 1. Architekturmuster 2. Architekturmuster für interaktive

Mehr

C# - Einführung in die Programmiersprache Fehler abfangen. Leibniz Universität IT Services Anja Aue

C# - Einführung in die Programmiersprache Fehler abfangen. Leibniz Universität IT Services Anja Aue C# - Einführung in die Programmiersprache Fehler abfangen Leibniz Universität IT Services Anja Aue Fehler in einem Programm Warnungen sind Hinweise auf eventuelle Fehler während der Laufzeit des Programms.

Mehr

CROSS PLATFORM DEVELOPMENT MIT PORTABLE CLASS LIBRARIES

CROSS PLATFORM DEVELOPMENT MIT PORTABLE CLASS LIBRARIES Entwicklung Autor: Sebastian Kugler CROSS PLATFORM DEVELOPMENT MIT PORTABLE CLASS LIBRARIES ZUSAMMENFASSUNG TREND APPLIKATIONEN AUF MEHRERE PLATT FORMEN ZU VERFÜGUNG ZU STELLEN CODE REUSABILTY PORTABLE

Mehr

Inhalt. Dokument Beschreibung. Bentley Technical Support ProStructures.Net - Zusatzprogrammierung Visual Basic Express PST_Bearbeitung_Dialog

Inhalt. Dokument Beschreibung. Bentley Technical Support ProStructures.Net - Zusatzprogrammierung Visual Basic Express PST_Bearbeitung_Dialog Bentley Technical Support ProStructures.Net - Zusatzprogrammierung Inhalt Dokument Beschreibung... 1 Windows Form einfügen... 2 Steuerelemente einfügen... 2 Steuerelemente Titel und Name... 3 Dialog Laden

Mehr

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein Objektorientierung Klassen und Objekte Dr. Beatrice Amrhein Überblick Konzepte der Objektorientierten Programmierung Klassen und Objekte o Implementierung von Klassen o Verwendung von Objekten 2 Konzepte

Mehr

Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel

Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel 17. 6. 2010 Kapitel 8: Java-Programmierung 8.1 Ereignisbehandlung, Benutzungsschnittstellen 8.2 Graphikprogrammierung 8.1 Ereignisbehandlung

Mehr

Programmieren? Das kann ich auch! Bau dir deine interaktive Bildergeschichte

Programmieren? Das kann ich auch! Bau dir deine interaktive Bildergeschichte Programmieren? Das kann ich auch! Bau dir deine interaktive Bildergeschichte Florian Haag Institut für Visualisierung und Interaktive Systeme, Universität Stuttgart Florian Haag Vorstellungsrunde 1/3 Diplom-Informatiker

Mehr

C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung

C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung 1. "Hai!" [Konsolenanwendung] Console.WriteLine("Hai, wie geht's?"); 2. Muktiplikation mit sich selbst [Konsolenanwendung] // Ausgabe

Mehr

WPF - Windows Presentation Foundation

WPF - Windows Presentation Foundation Arthur Zaczek Nov 2014 1 WPF 1.1 WPF Windows Presentation Foundation, seit.net 3.0 Introduction to WPF: http://msdn.microsoft.com/en-us/library/aa970268(v=vs.110).aspx Windows Presentation Foundation:

Mehr

Created by Michael Kirsch & Beat Rossmy

Created by Michael Kirsch & Beat Rossmy PROCESSING EINE EINFÜHRUNG IN DIE INFORMATIK Created by Michael Kirsch & Beat Rossmy INHALT 1. Sto der Vorlesung 1. Processing Basics 2. Übung 1. Aufgabe 1 2. Strings & Arrays 2. Aufgabe 1-A 3. Klassen

Mehr

GUI-Entwicklung 1: Windows Forms

GUI-Entwicklung 1: Windows Forms GUI-Entwicklung 1: Windows Forms Proseminar Objektorientiertes Programmieren mit.net und C# Johannes Faltermeier Institut für Informatik Software & Systems Engineering Agenda Einführung Grundlagen: GUI-Entwicklung

Mehr

Heute. Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files IT I - VO 11 1

Heute. Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files IT I - VO 11 1 Heute Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files 17.01.2017 IT I - VO 11 1 Organisatorisches Noch zwei UE und eine Wissensüberprüfung Heute

Mehr

Programmieren? Das kann ich auch! Bau dir deinen eigenen Bildschirmschoner

Programmieren? Das kann ich auch! Bau dir deinen eigenen Bildschirmschoner Programmieren? Das kann ich auch! Bau dir deinen eigenen Bildschirmschoner Christiane Taras Institut für Visualisierung und interaktive Systeme Universität Stuttgart GEFÖRDERT VON AKTIONSPARTNER Folien

Mehr

Universität Paderborn Prof. Dr. Stefan Böttcher. Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek

Universität Paderborn Prof. Dr. Stefan Böttcher. Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek 1 Ereignis-orientierte Programmierung Prinzipien Programm besteht aus einer Reihe von Dämonen (=Listener) Dämon (=Listener)

Mehr

Hilfsblatt für C++ Prüfungen im 5. Semester

Hilfsblatt für C++ Prüfungen im 5. Semester Hilfsblatt für C++ Prüfungen im 5. Semester Hilfsblatt für C++ Prüfungen im 5. Semester 1 Klassen 2 Win-32 Programmierung 3 Handles 3 Dateien, Files 3 Threads 3 Events 4 Funktionen 5 Einfache Funktionen

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:

Mehr

Vererbung und Polymorphie

Vererbung und Polymorphie Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter

Mehr

Gui & Widgets. GUI & Widgets, Events GUI? Als GUI (= Graphical User Interface ) bezeichnet man die

Gui & Widgets. GUI & Widgets, Events GUI? Als GUI (= Graphical User Interface ) bezeichnet man die GUI & Widgets, Events Einführung in C# GUI 3 Übersicht Gui & Widgets Events Kurze Einführung in C# GUI? Als GUI (= Graphical User Interface ) bezeichnet man die grafische Benutzungsschnittstelle oder auch

Mehr

Application Frameworks and Componentware Wintersemester 2002/03. Komponentenbasierte Programmierung in Java

Application Frameworks and Componentware Wintersemester 2002/03. Komponentenbasierte Programmierung in Java JavaBeans Java inproc Komponenten Übersicht Komponentenbasierte Programmierung in Java JavaBeans werden in der JVM der Anwendung ausgeführt JavaBeans sind Komponenten, die über Zugriffsklassen verfügen

Mehr

Ereignisse Auf Benutzereingaben reagieren

Ereignisse Auf Benutzereingaben reagieren Ereignisse Auf Benutzereingaben reagieren JavaScript ermöglicht es dem Entwickler auf Ereignisse (engl.: events) im Browser zu reagieren. Auf diese Weise kann der Benutzer mit den Anwendungen interagieren,

Mehr

Programmiertechnik GUI Programmierung mit Java Swing

Programmiertechnik GUI Programmierung mit Java Swing Programmiertechnik GUI Programmierung mit Java Swing Prof. Dr. Oliver Haase Software Engineering und Verteilte Systeme Raum F012 haase@htwg-konstanz.de Tel: 07531/206-720 Oliver Haase Hochschule Konstanz

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 06: FXML, Properties & Binding Kyrill Schmid Lehrstuhl für Mobile und Verteilte Systeme Teil 1: FXML und Scene Builder Model einbinden Heutige Agenda Teil 2: Properties

Mehr

Hochschule 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. 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:

Mehr

Microsoft 2010 Express/Beispiel für Grafische Oberflächen

Microsoft 2010 Express/Beispiel für Grafische Oberflächen I Vorbereitung wie Konsolanwendung Rechner hochfahren - Visual C++ 2010 Express aufrufen Datei/neu/Projekt im Menue wählen II Projekt und Projektmappe anlegen Vorlage CLR markieren Projekttyp Windows Forms-Anwendung

Mehr

Beispiel: Eine Choice-Liste...

Beispiel: Eine Choice-Liste... Beispiel: Eine Choice-Liste...! "#%$&! ; = '( ) )+**,-. /*0 1 2 ) 3 #%$+45* 6 7%$& -* 89 #6 #:/*0 #%$ < /0 # 1< ) 1< >?270 #@ < /0 # 1 2 ) )

Mehr

7. Übung Informatik II - Objektorientierte Programmierung

7. Übung Informatik II - Objektorientierte Programmierung 7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1 Kapitel 13 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1 Kapitel 12 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

Komponenten & Frameworks Seite 1

Komponenten & Frameworks Seite 1 Ausgangssituation Wir wollen eine einfache Windowsanwendung mit einem Fenster erstellen. Dieses Fenster enthält (Container!) einen Button der beim klicken das Schreiben in ein Textfeld bewirkt. Was ist

Mehr

Instrumentierung und Dekodierung

Instrumentierung und Dekodierung 116 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Instrumentierung und Dekodierung Erweiterung der Grafikklassen Das awt-paket erweitert alle Klassen für Grafikobjekte in java.awt, so

Mehr

In wissenschaftlich oder technisch orientierten

In wissenschaftlich oder technisch orientierten Frontend Der UI-Thread und die Task Parallel Library (TPL) Wenn das UI nicht hören will Arbeiten mehrere parallel, ist die Aufgabe schneller erledigt. Der UI-Thread will allerdings von den anderen Threads

Mehr

Objektorientierung. Marc Satkowski 20. November C# Kurs

Objektorientierung. Marc Satkowski 20. November C# Kurs Objektorientierung Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Weiterführende Verzweigungen Tertiäre-Verzweigung switch case 2. Schleifen Zählschleife (for) break & continue 3. Objektorientierung

Mehr

GUI Programmierung in Java

GUI Programmierung in Java vs und niemals mischen! Daher muss man sich für eine Klasse entscheiden 1 (Abstract Window Toolkit) schwergewichtige Alle Elemente werden vom Betriebssytem gemalt sehen aus wie alle anderen Programme auf

Mehr

Norbert. Eder. Windows Presentation Foundation 4. Einführung und Praxis. inklusive CD-ROM

Norbert. Eder. Windows Presentation Foundation 4. Einführung und Praxis. inklusive CD-ROM Norbert Eder Windows Presentation Foundation 4 Einführung und Praxis inklusive CD-ROM 5936.book Seite 5 Mittwoch, 10. November 2010 5:50 17 Vorwort................................................... 11

Mehr

Einführung in die Programmierung für NF. Übung

Einführung in die Programmierung für NF. Übung Einführung in die Programmierung für NF Übung 10 08.01.2014 Inhalt Programmierung Blatt 9 Eventbehandlung in Java Swing InputDialoge in Java UML Einführung in die Programmierung für NF Übung 10 2 Programmierung

Mehr

Praktikum 4: Grafiken und Ereignisse

Praktikum 4: Grafiken und Ereignisse Praktikum 4: Grafiken und Ereignisse Aufgabe 1: Java Applikation Bisher haben wir in Java (ebenso wie in C) jeweils selbständige Konsole-Applikationen erstellt. Java wurde als Programmiersprache für das

Mehr

Polymorphie. Überschreiben. Definition Eigene Methoden überschreiben Beispiele. Dr. Beatrice Amrhein

Polymorphie. Überschreiben. Definition Eigene Methoden überschreiben Beispiele. Dr. Beatrice Amrhein Polymorphie Überschreiben Definition Eigene Methoden überschreiben Beispiele Dr. Beatrice Amrhein Definition 2 Vererbung Durch das Vererben von Klassen erhält die abgeleitete Klasse alle (für sie sichtbaren)

Mehr

C# für Einsteiger Modul 10: Oberflächen mit WPF. 2009 eden market Autor: Anton Kölbl

C# für Einsteiger Modul 10: Oberflächen mit WPF. 2009 eden market Autor: Anton Kölbl C# für Einsteiger Modul 10: Oberflächen mit WPF 2009 eden market Autor: Anton Kölbl 1 2 Gliederung 1. Einleitung 2. XAML 3. Grafik 4. Databinding Einleitung Die Windows Presentation Foundation WPF sind

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Semestralklausur Einführung in die Programmierung Semestralklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList

Mehr

Ausnahmen. Exceptions. Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten. Dr. Beatrice Amrhein

Ausnahmen. Exceptions. Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten. Dr. Beatrice Amrhein Ausnahmen Exceptions Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten Dr. Beatrice Amrhein Definition 2 Definition: Ausnahme (Exception) In C# werden Fehler, die zur Laufzeit im

Mehr