• Keine Ergebnisse gefunden

Graphische Nutzerschnittstellen

N/A
N/A
Protected

Academic year: 2021

Aktie "Graphische Nutzerschnittstellen"

Copied!
21
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Graphische Nutzerschnittstellen

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

(2)

Inhalt

1. Einführung, Literatur, Begriffe

2. Architektur eines Fenstersystems

3. JavaFX

4. Dialoge in JavaFX 5. Grafik in JavaFX

6. Benutzeroberfläche (Dialog, SDI, MDI, SDI, RDI) 7. Testroutinen (JUnit)

(3)

Architektur eines Fenstersystems:

Kriterien zur Bewertung eines Fenstersystems

Komponenten eines Fenstersystems

Die Grafikbasis

Resourcenverwaltung

Betriebsystem und Fenstersystem

Fenstermontierer / Window Management

Standard-Interaktionsobjekte

(4)

Kriterien zur Bewertung eines Fenstersystems

Verfügbarkeit

Vielfältige Hardware

Grafikleistung

einfache Programmierung

Betriebsmittelverwaltung verbergen

Parallelität (Threads)

extern: Parallele Funktionen für die Benutzer

intern: nebenläufige Module

Grafikgrundmodell

Rastermodell: Swing, Delphi, MFC, WinForms

Vektormodell: Windows Presentation Foundation (WPF)

Guide-Style

Anpassbarkeit

Benutzerspezifisch

Landesspezifisch

Lokalization (statisch, dynamisch)

Teilbarkeit der Resourcen

Gemeinsame Ausgabe in mehreren Applikationen (Rechte etc.)

Verteilte Fenstersysteme

Struktur des API (OOP, Prozedural)

Komfort des API (Prototyp)

Unabhängigkeit von Applikation und Interaktion (GUI vs. Code)

Kommunikation zwischen den Applikationen

(5)

Komponenten eines Fenstersystems

Systemdetails nehmen zu

Anwendungen

Anwender-Werkzeuge

Window-Manager

Resourcen-Manager

Grafikbasissystem (HAL)

Hardware

Applikations- und benutzerorientierte Funktionalität

nimmt zu

(6)

Komponenten eines Fenstersystems

Anwender-Werkzeuge

Toolkit-Schicht. Definiert Standard-Dialogfenster Window-Manager

Verwaltet die Anzeige im Fenster, Resize etc.

Ressourcen-Manager

Verwaltet die logischen Grafikelemente (Fonts, Stifte etc).Auch die gemeinsame Nutzung

Grafikbasissystem (HAL)

Verwaltet die Zugriffe auf die verschiedenen Grafiksubsysteme (Screen, Printer, WMF)

Hardware

(7)

Die Grafikbasis

Eingabeaktionen

Parameteraufbereitung der Grafikbefehle

Zeichenmodus

Copy

And

Oder

Xor

Elementare Operationen

Funktion BitBlt (Win API, Kopieren von Bildblöcken)

Integer-Arithmetik, schneller als Floating-Points (Problem der Normalisierung)

Clipping (Linie, Kreis, Rechteck, Text)

Zeichnen von Texten

int DrawText( const CString& str, LPRECT lpRect, UINT nFormat );

(8)

Objekte der Grafikbasis

Zeichenflächen

geräteunabhängig (Zwischenablage, Dateien)

geräteabhängig (Drucker, Fax, Bildschirm)

Ausgabe-Objekte

elementar (direkt von der Hardware unterstützt, Directx 13)

zusammengesetzt (Zeichensätze)

Grafischer Kontext (Attribute einer Zeichenfläche)

Strichbreite, Strichart

Schriftart

Farbtabelle

(9)

Standardinteraktionsobjkte (GUI-Elemente)

Text (Label)

Schreibmarke, Mauszeiger (Cursor)

Schalter (mit, ohne Bitmap)

Auswahl (Menü, Popupmenü, Untermenüs)

Schalter (Anwahlschalter, Auswahlschalter, exklusiver Auswahlschalter, Gruppenschalter)

Eingabefeld (Edit)

Spinfeld

Listenfeld (List)

Eingabefeld mit Listenfeld (ComboBox)

Rollbalken (Scrollbar)

ProgessBar

Register

(10)

Standardinteraktionsobjekte

Dialogbausteine „Common dialogboxes"

GetOpenFileName

GetSaveFileName

PrintDlg

FindText / NextSearch

ReplaceText

ChooseColor

ChooseFont

Methoden:

(11)

Standarddialoge: Beispiele

Choose Color

(12)

Standarddialoge: Suchen & Ersetzen

Winword:

Notepad

(13)

Standarddialoge: Drucken (Powerpoint)

(14)

Standarddialog Opendatei: Windows 3.1

(15)

Standarddialog: Windows 95

(16)

Standarddialog: Windows 2000, XP, Vista, Win 7

(17)

OpenDialog1.FileName:= '*.doc';

OpenDialog1.InitialDir := 'c:\eigene Dateien';

OpenDialog1.Filter:= 'DOC-Dateien (*.DOC)|*.DOC;*.DOCX|' + 'RTF-Dateien (*.RTF)|*.RTF|' +

'DOT-Dateien (*.DOT)|*.DOT|' + 'Alle Dateien (*.*)|*.*';

OpenDialog1.Title := 'Datei Öffnen';

OpenDialog1.Options :=

[ofEnableSizing, ofHideReadOnly, ofAllowMultiSelect, ofPathMustExist,ofShowHelp];

if (OpenDialog1.execute) {

writeln(OpenDialog.FileName);

}

Standarddialog: Aufruf (Delphi)

(18)

Standarddialog: Aufruf (Visual Studio)

CString sDefExt, sFileName, sFilter;

sDefExt = ".html";

sFilter =

"HTML-Dateien (*.html;*.htm)|*.html;*.htm|Alle Dateien (*.*)|*.*||";

sFileName="test.html";

CFileDialog dlg(FALSE, sDefExt, sFileName,

OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, sFilter);

dlg.m_ofn.lpstrTitle = "Datei öffnen"; // Überschrift if (dlg.DoModal() != IDOK) return;

CString sOutput = dlg.GetPathName();

// Ergebnis:

(19)

Standarddialog: Aufruf (Java)

void MnOpen_actionPerformed(ActionEvent e) { JFileChooser jFileChooser1 = new JFileChooser();

String sFileName;

MyFileFilter javaFilter, txtFilter;

javaFilter = new MyFileFilter("java", "Java-Texte");

txtFilter = new MyFileFilter( new String[] {"dat", "txt"}, "Texte");

jFileChooser1.setMultiSelectionEnabled(false);

jFileChooser1.addChoosableFileFilter(javaFilter);

jFileChooser1.addChoosableFileFilter(txtFilter);

jFileChooser1.setCurrentDirectory( new File("C:\\Daten") );

if (JFileChooser.APPROVE_OPTION == jFileChooser1.showOpenDialog(this)) { // Rufen Sie openFile auf, um Text aus einer Datei in die TextArea zu laden

sFileName = jFileChooser1.getSelectedFile().getPath();

InternalFrame1 frame = new InternalFrame1( this, sFileName );

insertFrame(frame,1);

(20)

Standarddialog: Aufruf (Java)

void MnOpen_actionPerformed(ActionEvent e) { JFileChooser jFileChooser1 = new JFileChooser();

String sFileName;

MyFileFilter javaFilter, txtFilter;

jFileChooser1.setMultiSelectionEnabled(true);

jFileChooser1.setCurrentDirectory( new File("C:\\Daten") );

if (JFileChooser.APPROVE_OPTION == jFileChooser1.showOpenDialog(this)) { // Rufen Sie openFile auf, um Text aus einer Datei in die TextArea zu laden

File[] files = jFileChooser1.getSelectedFiles();

for (File file : files ) {

sFileName = file.getPath();

InternalFrame1 frame = new InternalFrame1( this, sFileName );

insertFrame(frame,1);

(21)

Standarddialog: Aufruf (C#)

OpenFileDialog openFileDialog1 = new OpenFileDialog();

openFileDialog1.Filter =

"Textdateien (*.txt;*dat)|*.txt;*.dat|pdf files (*.pdf)|*.pdf|All files (*.*)|*.*";

openFileDialog1.FilterIndex = 2;// zählt von 1 ! openFileDialog1.DefaultExt = ".pdf";

openFileDialog1.InitialDirectory="c:\\daten";

openFileDialog1.Multiselect=false;

openFileDialog1.RestoreDirectory = true;

if (openFileDialog1.ShowDialog() == DialogResult.OK) {

string sFile = openFileDialog1.FileName.ToString() MessageBox.Show(sFile, Application.ProductName);

}

Referenzen

ÄHNLICHE DOKUMENTE

Im Mittelpunkt des Interesses steht die Forschung und Entwicklung in den Bereichen Optimierung und Implementierung von Al- gorithmen der Bildsynthese und -verarbeitung auf

- Schicht i benutzt Protokoll der Ebene i und lokale Dienste, die von der Ebene i-1 angeboten werden - Damit der nächst höheren Schicht ein Dienst ange- boten werden

Die Studierenden sollen in die Lage versetzt werden, eingesetzte Technologien kritisch beurteilen zu können oder kompetent bei der Auswahl geeigneter Technologien für neue Aufgaben

Zu den Schriften zählen: Courier, Courier Oblique, Courier Bold, Courier Bold Oblique, Helvetica, Helvetica Oblique, Helvetica Bold, Helvetica Bold Oblique, Helvetica Narrow,

Durch diesen Abschnitt aber soll der Grünen Mark ein dreifacher Lorbeerzweig in den Ruhmeskranz geflochten werden: Carl Antonio Carlone, der größte barocke Innen- architekt,

Die Erzieherin fragt die Kinder, ob es möglich ist, Farben am Geschmack oder am Geruch zu erkennen, und wie sich die verschiedenen Farben wohl durch Fühlen unterscheiden...

ITALIC--relative tilt of characters, either left or right of vertical.. This gives you a visual indication of how your text will appear. Press SIZE and then

Computer Modern Text Italic Typewriter Type 10 point .... Computer Modern Text Italic 9