Java styleguide java styleguide

Größe: px
Ab Seite anzeigen:

Download "Java styleguide http://java.sun.com/docs/codeconv/html/codeconvtoc.doc.html. java styleguide http://java.sun.com/products/jlf/"

Transkript

1 Oberflächenprogrammierung mit Swing (Quellen: Tiger, diverse aus dem Netz, left) Ein- und Ausgabe über Zeichenströme wie bisher am leichtesten. Stand der Technik bei kommerziellen Programmen ist aber seit langem die Windows Umgebung (grafische Umgebung zuerst beim MAC). In JAVA haben wir die Unterstützung durch die Java Foundation Classes (JFC). Mit ihr bauen wir Overflächen auf. Am besten ist es man hält sich an Windows. Eigene grafische Design Versuche gehen meist in die Hose. einheitliches Look and Feel!! Foundation: Basis, Fundament Java styleguide java styleguide Die JFC (Java Foundation Class) Moderne Oberflächenprogrammierung geht weit über Fenstertechniken, Mausbedienung etc. hinaus. Es müssen fertige Komponenten zur Verfügung stehen um die Programmierung zu vereinfachen. Programme wie der Borland JBuilder erzeugen aber auch immer einen syntaktischen Overhead, in dem man sich nicht zurecht findet, hat man sich nie die Grundlagen erarbeitet. Drag & Drop steht ja z.b. auch schon bei unserer Minimal IDE (Javaeditor) zur Verfügung. Solche Hilfsmittel sind in der modernen Automatisierungstechnik unerlässlich. Prozessvisualisierung. 1

2 Die JVC sind eine Zusammenstellung von Klassen zur Oberflächengestaltung und Bedienung einer JAVA-Applikation oder eines Applets. Es gibt verschiedene Klassenbibliotheken, die teilweise aufeinander aufbauen und zusammen arbeiten. Abstract Window Toolkit AWT Swing JAVA 2Ddd Deag and Drop Accessibility AWT (Abstract Window Toolkit) Älteste Klassenbibliothek mit JDK 1.0 ausgeliefert. Heute bereits überholt. Zur Darstellung der Komponenten greift das AWT auf Funktionen des Betriebssystems zu, auf dem das Programm läuft. D.h. die Komponenten werden in gewohnter Form dargestellt. Vorteil Die Komponenten werden auch als schwergewichtige Komponenten bezeichnet. Die Benutzerschnittstelle des AWT hat drei Elemente - Komponenten - Container - Layout Manager s.a. alte Unterlagen (Kurs) auf Homepage Komponenten Oberflächenelemente wie Buttons (Schaltflächen) Labels (Beschriftungen) Menüs Container Elemente, die Komponenten enthalten und gruppieren. Window (Fenster) Sie sind selbst Komponenten und somit oft wieder in anderen enthalten Layout- Manager nicht sichtbar, legen die Anordnung fest s.anhang Oberflächenentwurf Swing Klassenbibliothek zum Programmieren von GUI s Graphical User Interface s. Wiki. Die Swing Komponenten sind vollständig in JAVA implementiert und basieren auf den sog. Leichtgewichtigen Komponenten Sie zeichnen sich auf dem Screen ohne das Betriebssystem zu verwenden. Aussehen ist von Betriebssystem unabhängig. plattformunabhängig sehen auf allen Plattformen gleich aus!! JAVA2D Die JAVA 2D-API ist ein Satz von Klassen für 2D-Grafiken und Bilder. Gezeichnete Oberflächen Balkendiagramme etc. Drag and Drop Benutzer kann mit der Maus Daten oder Grafiken eines JAVA Programmes in andere Programme und umgekehrt ziehen. Innerhalb natürlich auch. Accessibility (Erreichbarkeit, Zugänglichkeit) API-zur Einbindung zusätzlicher Ein- und Ausgabegeräte außer Bildschirm, Tastatur und Maus. behinderten gerechte Programmierung. Sprach ein- und ausgabe für Blinde z.b. 2

3 Architektur der Swing-Klassenbibliothek Die Swing-Klassenbibliothek baut auf dem AWT auf und erweitert dieses um Komponenten, die nach dem Model-View-Controller (MVC)-Prinzip aufgebaut sind. Heavyweight Components Im AWT war alles schwergewichtig. Sie werden durch das Betriebssystem zur Verfügung gestellt. Die Anbindung an das BS erfolgt durch sog. Peer-Objekte. diese müssen für jedes BS neu geschrieben werden und sind die Brücke zwischen BS und JAVA plattformunabhängig. Das erste AWT musste damals unter Zeitdruck geschrieben werden. Es konnte nur eine Schnittmenge der Komponenten aller BS verwirklicht werden. Peer= gleichrangig ist langsam!! Aussehen immer anders Abmessungen verschieden Peer Modell Aufwand wird sehr hoch für komplexe Programme Lightweight Components Werden direkt von JAVA gezeichnet. Aber die Swing Klassenbibliothek baut auf dem AWT auf. Containerklassen: Frame, Dialog, Window und Applet wurden aus AWT übernommen und durch Ableitung erweitert. Neue Namen: JFrame, JDialog, JWindow (stellen die Bildschirmfenster dar) und JApplet Die Containerklassen werden als Top-Level Container bezeichnet und werden von Swing als Zugang zu der vom BS verwalteten Oberfläche genutzt. Vorsicht: Die unterschiedliche Architektur von AWT und Swing bleibt jedoch nicht ohne Folgen, wenn man versucht die schweren mit den leichten innerhalb einer Oberfläche zu mischen!!! Swing und AWT gemischt Mist!! (Entschuldigung) nicht zu empfehlen. Hier liegt ein Fenster einer schwergewichtigen Komponente über dem Fenster, das mehrere leichtgewichtige enthält. 3

4 Panes (Fensterscheiben) so ähnlich wie die Layer bei Target Container-Hierarchie eines Top-Level Containers Wir brauchen heute auch die Funktion drag & drop die sich mit dem AWT kaum zu verwirklichen lässt. Deshalb enthalten alle Top-Level Container der Swing-Klassenbibliothek eine komplex Zusammenstellung von verschiedenen Containern. Rootpane = Ausgangspunkt. In ihr enthalten sind Layered Pane Glasspane LayeredPane enthält Contentpane MenuBar Wir verwenden meist nur die ContentPane, die die einzelnen Komponenten einer Oberfläche enthalten. GlassPane = durchsichtiger Container, er liegt am Bildschirm über allen anderen. Eigene Notizen: 4

5 Erstes Beispiel: ohne Event Handler (Ereignisbehandlungsroutine) // Datei: MySwingButtonTest.java Event = Ereignis import java.awt.*; import javax.swing.*; public class MySwingButtonTest public static void main (String[] args) // Erzeugen eines Fensters JFrame f = new JFrame ("MeinJFrame"); // Mit getcontentpane() erhält man die Referenz auf die // Content Pane. Mit setlayout(new FlowLayout()) wird der // Layout-Manager für die ContentPane gesetzt f.getcontentpane().setlayout (new FlowLayout()); // Erzeugen des JButtons JButton button = new JButton ("Mich kann man drücken"); // Hinzufügen des Buttons zum JFrame f.getcontentpane().add (button); // Größe des JFrames setzen. Die Breite beträgt 250 Pixel, // die Höhe 100 Pixel f.setsize (250,100); Erläuterung: Mit der ersten Anweisung der Methode main() der Klasse MySwingButtonTest wird ein neuer JFrame mit dem Namen MyJFrame erzeugt. Er dient als Top- Level Container für den darzustellenden Button. In der daruf folgenden Zeile wird der Layout-Manager der Content-Pane gesetzt. Danach wird der JButton mit der Beschriftung Mich kann man drücken erzeugt und mit add() der ContentPane des Frames hinzugefügt. Zum Schluss wird noch die Größe des Fensters mit setsize() festgelegt und der JFrame mit show() angezeigt. // JFrame anzeigen f.show(); 5

6 Model-View-Controller-Muster Model = Tabelle zur Datenhaltung Messwerte vom Benutzer eingegeben, oder gelesen über Methoden, oder aus Datei View (Ausgabekomponente) stellt die Daten an der Oberfläche dar. (Oft haben wir mehrere Views) Controller reagiert auf Benutzereingaben, nimmt sie entgegen und leitet sie an das Modell, bzw. den View weiter View muss laufend aktualisiert werden (s. IExplorer, Windows, etc.) Schon konnte er die vielen Stimmen nicht mehr unterscheide n, nicht frohe von weinenden, nicht kindliche von männlichen, sie gehörten alle zusammen, Klage der Sehnsucht und Lachen des Wissenden, Schrei des Zorns und Stöhnen der Sterbenden, alles war eins, alles war ineinander verwoben und verknüpft, tausendfach verschlungen. Hermann Hesse, Siddhartha Die Mystiker wussten es schon lange. Eingabe und Anzeige von Messwerten in zwei Dialogen Swing basiert auf dem sog. MVC- Muster. Die Grundlagen davon sollten wir kennen. MVC stellt die Architektur der Mensch-Maschine-Schnittstelle In Smalltalk dar. Das MVC Muster dient zum Entwurf von interaktiven Programmen (Dialogprogrammen), die Eingaben von Eingabegeräten wie der Tastatur annehmen, Verarbeitungen durchführen und am Bildschirm Ausgaben erzeugen s. Abb. oben. Das Model, View und Controller Konzept kommuniziert nur über Protokolle, d.h. es ist möglich, ein Teilsystem gegen eine neuere Version desselben auzutauschen, und zwar ohne Probleme, wenn wir das Protokoll einhalten. auch hier wieder Modularisierung OSI-Modell. Immer dasselbe, seit Plaise Pascal. Objektorientierte Sprache Smalltalk 1970; OSI 1979; Dezentralisierung Prozessinformatik Netzwerktechnik Datenbanken elektronische Systeme, Computer, mechanische Systeme. Alles ist eins!!!! das wird an keiner Schule gelernt Alles schwingt!!!! Regelungstechink Vergleich zum GUI- 3 Schichten Modell: Im Kosmos gibt es nur Einheit. Alles hängt mit allem zusammen. theoretische Physik 1964 Bell s Theorem keine Theorie der Realität, die mit der Quantenphysi k komparibel ist, kann davon ausgehen, dass räumlich getrennte Ereignisse voneinander unabhängig sind ZEN = Kreis Präsentation (Darstellung) Steuerung Datenhaltung 6

7 Es gibt keine Trennung zwischen Menschen, es gibt keine Trennung zwischen Mensch und Natur und es gibt keine Trennung zwischen irgendwelche n Ereignissen, wie weit diese auch immer auseinander sein mögen. Atomphysiker J.E.Charon Jedes Atom ist mit jedem Atom im Kosmos verbunden und zwar über die Substanz (Geist) der Antimaterie. Alles Wissen ist potentiell allen Atomen im Kosmos zugänglich. Weiter s. Chaostheorie Management Software 7

8 Kommunikation der 3 Teilsysteme des MVC-Musters JAVA Delegate-Modell Swing verwendet das MVC in abgewandelter Form. In direkten Kontakt kommen wir erst bei komplexe Komponenten, z.b. Tabellen. bei heutigen Programmen, die auf unterschiedlichen Betriebssystem, mit Gleichen Aussehen laufen sollen, ist die Verständigung zwischen View und Controller sehr aufwendig. Erscheinungsbild und spezifische Bedieneigenschaften bezeichnet man auch als Look and Feel. In Swing als Oberflächenbibliothek fasst amn das MVC Muster zu einem ViewController zusammen. Wir brauchen uns also nicht mehr um die Kommunikation zwischen View und Controller kümmern. Zusammenlegen von View und Controller In Swing wird der zusammengelegte ViewController als Delegate (Beauftragter) bezeichnet. Diesen setzen wir fast nie ein. Vielleicht wenn Sie später mal 20 Jahre lang Software geschrieben haben. In Swing wird jede Komponente aus einem Model und einem Delegate zur Verfügung gestellt. JButton-Komponente mit Delegate 8

9 Pluggable Look and Feel Swing hat als Attribut auch das Look and Feel, welches man zur Laufzeit dynamisch wechseln kann (kennen wir von Windows). es gibt zu jeder Komponente mehrere Delegates jede Komponente bezieht ihr aktuelles Design von einer sog. UIFactory (User Interface-Fabrik) UIFactory erstellt die passenden Delegates Standardmäßig steht das Look and Feel bei Swing auf Metal. JAVA Weitere können wir wie folgt einstellen. try //Einstellen des Windows Look and Feel UIManager.setLookandFeel ( javax.swing.plaf.windows.windowslookandfeel ) catch (Exception e) System.out.println (e); Windows Look and Feel Wir können auch eigene erzeugen Paket javax.swing.plaf.basic Basisklassen Swing und Threads (thred-faden) Beim Zugriff mehrere Threads auf das AWT herrscht hohe Sicherheit (Multi-Threading). Es können mehrere gleichzeitig zugreifen, ohne das sie sich gegenseitig z.b. blockieren. u.a. mangelnde Geschwindigkeit von AWT. Vorsicht bei Swing wurde auf die Threadsicherheit verzichtet nicht gleichzeitig zugreifen! es gibt Möglichkeiten für die unumgänglichen Ausnahmen invoke-later() oder invokeandwait() Klasse SwingUtilities Event-Queue. 9

10 Komponenten und Container von Swing Swing-Komponenten, die AWT-Komponenten entsprechen 10

11 Neue Swing Komponenten 11

12 Oberfläche aus Swing-Komponenten, die AWT-Komponenten entsprechen Top-Level-Container JFrame, JDialog, JWindow und JApplet schwergewichtig Betreibssystem verwaltet Oberfläche JFrame meist Rahmen, Titelzeile, Buttons (Schließen, Minimieren und Maximieren) und System-Menü 12

13 JDialog stellt Komponenten an der Oberfläche dar. Ist meist an ein Vater-Fenster gebunden. Er kann auch modal zum Vater-Fenster gemacht werden. modale Fenster d. h. der Benutzer muss diese Fenster zunächst schließen, bevor er zum eigentlichen Dokument zurückkehren kann. Modalität, Art und Weise der Ausführung einer Vereinbarung. Wir müssen also zuerst den modalen Dialog verarbeiten, bevor wir zum Vaterfenster zurück kehren können. minimieren und vergrößern gibt es beim Dialog-Button nicht. JWindow ähnlich wie frame = Fenster zum Darstellen von Komponenten an der Oberfläche. aber kein Rahmen, keine Titelzeile, keine buttons zum Schließen, Minimieren und Vergrößern. Das Fenster kann auch nicht verschoben werden oder in der Größe geändert werden. JApplet Erweiterung der Klasse Applet. Verwenden, wenn wir Swing Komponeneten verwenden. 13

14 2. Teil Einfache Komponenten Bedienelemente Buttons (Schaltflächen) Labels (Beschriftungsflächen) Checkboxen (Auswahlfelder) Radio Buttons (Auswahlfelder mit nur 1er Möglichkeit) Slider (Schieberegler) und Progress Bars (Fortschrittsanzeigen) JButton Klasse für Funktionsschaltfläche (Ok, Abbrechen) // Datei: JButtonEx.java import java.awt.*; import javax.swing.*; public class JButtonEx extends JFrame public JButtonEx() // Titel setzen. Aufruf des Konstruktors von JFrame. // Der Übergabeparameter enthält die Beschriftung der // Titelzeile super ("JButton ohne Event-Handler"); getcontentpane().setlayout (new FlowLayout()); // Button erzeugen JButton button = new JButton ("Ich bin ein Knopf zum Drücken"); // Button der ContentPane hinzufügen getcontentpane().add (button); // Größe des Frames setzen setsize (300, 200); public static void main (String[] args) // Frame erzeugen JButtonEx btnex = new JButtonEx(); // Frame anzeigen btnex.show(); 14

15 Icons (von den Bildern auf Kirchenfenster Ikonen) Grafiken auf Komponenten // Datei: IconEx.java import java.awt.*; import javax.swing.*; public class IconEx extends JFrame public IconEx() // Titel setzen. Aufruf des Konstruktors von JFrame. // Der Übergabeparameter enthält die Beschriftung der // Titelzeile super ("Icon-Beispiel"); getcontentpane().setlayout (new FlowLayout()); // Icon erzeugen ImageIcon icon = new ImageIcon ("images/munz.jpg"); // Button mit Icon und Beschriftung erzeugen JButton btn = new JButton ("Button mit Icon", icon); // Button der ContentPane hinzufügen getcontentpane().add (btn); // Größe des Frames setzen setsize (300, 200); public static void main (String[] args) // Frame erzeugen IconEx icnex = new IconEx(); // Frame anzeigen icnex.show(); 15

16 JLabel Klasse JLabel statischer Text Beschriftungen (statisch, heißt kann vom User nicht geändert werden). // Datei: JLabelEx.java import javax.swing.*; public class JLabelEx extends JFrame public JLabelEx() super ("JLabel-Beispiel"); // Erzeugen eines Labels mit zentriertem Text JLabel label = new JLabel ("Alles schwingt! Alles ist Eins", SwingConstants.CENTER); // Label der ContentPane hinzufügen getcontentpane().add (label); setsize (200, 100); public static void main (String[] args) JLabelEx lblex = new JLabelEx(); lblex.show(); 16

17 JCheckbox zur Auswahl von Optionen. Je nach Look&Feel Häckchen oder kleines x. Darstellung evtl. durch Icons. / Datei: JCheckBoxEx.java import java.awt.*; import javax.swing.*; public class JCheckBoxEx extends JFrame // Array mit 4 CheckBoxen erzeugen private JCheckBox chk[] = new JCheckBox [4]; public JCheckBoxEx() super ("JCheckBox-Beispiel"); // GridLayout dient der tabellarischen Anordnung von // Elementen.Es werden 4 Zeilen in einer Spalte erzeugt. getcontentpane().setlayout (new GridLayout (4,1)); // erzeuge 4 CheckBoxen: chk [0] = new JCheckBox ("links", true); chk [1] = new JCheckBox ("rechts"); chk [2] = new JCheckBox ("oben", true); chk [3] = new JCheckBox ("unten"); // CheckBoxen der ContentPane hinzufügen for (int i = 0; i < 4; i++) getcontentpane().add (chk [i]); setsize (200, 150); public static void main (String[] args) JCheckBoxEx chkex = new JCheckBoxEx(); chkex.show(); 17

18 JRadioButton Kreis statt Kästchen. Radio-Buttons und Checkboxen können gruppiertwerden einem ButtonGroup-Objekt hinzufügen. // Datei: JRadioButtonEx.java import java.awt.*; import javax.swing.*; public class JRadioButtonEx extends JFrame // Array mit 4 RadioButtons erzeugen private JRadioButton rb[] = new JRadioButton [4]; public JRadioButtonEx () super ("JRadioButton-Beispiel"); getcontentpane().setlayout (new GridLayout (4,1)); // erzeuge 4 RadioButtons: rb [0] = new JRadioButton ("links"); rb [1] = new JRadioButton ("rechts"); rb [2] = new JRadioButton ("oben", true); rb [3] = new JRadioButton ("unten"); // Gruppe für RadioButtons erzeugen ButtonGroup grp = new ButtonGroup(); // RadioButtons der ContentPane hinzufügen for (int i = 0; i < 4; i ++) getcontentpane().add (rb [i]); // RadioButtons der Gruppe hinzufügen grp.add (rb [i]); setsize (200, 150); public static void main (String[] args) JRadioButtonEx rbtnex = new JRadioButtonEx (); rbtnex.show (); 18

19 JSlider grafische Auswahl von Werten aus einem Wertebereich. // Datei: JSliderEx.java import java.awt.*; import javax.swing.*; public class JSliderEx extends JFrame public JSliderEx() super ("JSlider-Beispiel"); getcontentpane().setlayout (new FlowLayout()); // Slider erzeugen // Minimum = 0, Maximum = 200, Schrittweite = 10 JSlider slider = new JSlider (0, 200, 10); // Slider der ContentPane hinzufügen getcontentpane().add (slider); setsize (300, 200); public static void main (String[] args) JSliderEx sldex = new JSliderEx(); sldex.show(); 19

20 JProgressbar (Fortschrittsanzeiger) Übertragen einer Datei dauert etwas Bediener wird über den Stand der Dinge informiert. // Datei: JProgressBarEx.java import javax.swing.*; import java.awt.*; public class JProgressBarEx extends JFrame private JProgressBar progressbar; public JProgressBarEx() super ("JProgressBar-Beispiel"); getcontentpane().setlayout (new FlowLayout()); // Erzeugen eines JProgressBar. // Minimum = 0, Maximum = 200 progressbar = new JProgressBar (0, 200); // ProgressBar der ContentPane hinzufügen getcontentpane().add (progressbar); setsize (200, 100); // Thread erzeugen Progress prg = new Progress(); // Thread starten prg.start(); public static void main (String[] args) JProgressBarEx prgex = new JProgressBarEx(); prgex.show(); // Elementklasse zum Simulieren des Fortschritts class Progress extends Thread public void run() // ProgressBar Fortschritt simulieren for (int i = 0; i <= 200; i++) // Fortschritt setzen progressbar.setvalue (i); try // warte 50 ms sleep (50); catch (Exception e) System.out.println(e.getMessage()); 20

21 Editierbare Komponenten Benutzer kann z.b. Text während der Laufzeit eingeben. Immer Text also auch eine Zahl ist z.b. ein String müssen wir wandeln. S. gesonderte Unterlagen. JTextfield, JPasswordField,JTextArea und JEditor als Beispiele. JTextField User kann Text eingeben b// Datei: JTextFieldEx.java import java.awt.*; import javax.swing.*; public class JTextFieldEx extends JFrame public JTextFieldEx() super ("JTextField-Beispiel"); getcontentpane().setlayout (new FlowLayout()); // Textfeld erzeugen JTextField txt = new JTextField ("Hi Freaks"); // Textfeld der ContentPane hinzufügen getcontentpane().add (txt); setsize (600, 200); public static void main(string[] args) JTextFieldEx txtex = new JTextFieldEx(); txtex.show(); 21

22 JPasswordField Erweiterung der Klasse JTextField verdeckte Eingabe von Passwörtern. JTextArea User kann mehrzeiligen Text eingeben. // Datei: JTextAreaEx.java import javax.swing.*; public class JTextAreaEx extends JFrame public JTextAreaEx() super ("JTextArea-Beispiel"); // TextArea erzeugen JTextArea txt = new JTextArea ("Mehrzeiliger\nVorgabe-Text"); // TextArea der ContentPane hinzufügen getcontentpane().add (txt); setsize (300, 200); public static void main(string[] args) JTextAreaEx txtex = new JTextAreaEx(); txtex.show(); 22

23 JEditorPane Texteingabe Komponente. Kann einfachen Text aber auch HTML-Seiten als Text anzeigen. // Datei: JEditorPaneEx.java import javax.swing.*; public class JEditorPaneEx extends JFrame public JEditorPaneEx() super ("JEditorPane-Beispiel"); // EditorPane erzeugen JEditorPane editor = new JEditorPane(); // EditorPane auf HTML bzw. Text setzen editor.setcontenttype ("text/html; charset=euc-jp"); // EditorPane auf nicht editierbar setzen editor.seteditable (false); // Text in EditorPane einfügen editor.settext ("<html><h1>wetterdaten</h1>gws-loerrach</html>"); getcontentpane().add (editor); setsize (300, 200); public static void main (String[] args) JEditorPaneEx editorex = new JEditorPaneEx(); editorex.show(); 23

24 Listen, Tabellen und Bäume Dies ist mit ein Kernthema der Informatik. Wir beschränken uns hier nur auf die Anwendung in Swing. JList, JComboBox, JTree und JTable JList mit dieser Klasse kann man Objekte aus einer Liste darstellen und Auswählen. Bsp: JFrame mit Liste // Datei: JListEx.java import javax.swing.*; public class JListEx extends JFrame // Liste private JList list; // Daten der Liste private Object[] data = "Realgröße", "Vollbild", "100%", "75%", "50%", "25%", "15%", "10%", "5%"; public JListEx() super ("JList-Beispiel"); // Liste mit Daten erzeugen list = new JList (data); // Liste der ContentPane hinzufügen getcontentpane().add (list); setsize (300, 200); public static void main (String[] args) JListEx lstex = new JListEx(); lstex.show(); 24

25 JComboBox Kombination aus Textfeld und Liste. Das Textfeld kann editierbar oder nicht editierbar sein. // Datei: JComboBoxEx.java import java.awt.*; import javax.swing.*; public class JComboBoxEx extends JFrame // Daten der ComboBox private String[] choice = "Vollbild", "100%", "75%", "50%", "25%", "Zwei Seiten"; public JComboBoxEx() super ("JComboBox-Beispiel"); getcontentpane().setlayout (new FlowLayout()); // ComboBox erzeugen JComboBox cmbbox = new JComboBox (choice); // ComboBox auf editierbar einstellen cmbbox.seteditable (true); // 1. Punkt der Liste auswählen cmbbox.setselecteditem (choice[0]); // Anzahl der sichtbaren Zeilen setzen cmbbox.setmaximumrowcount (6); getcontentpane().add (cmbbox); setsize (200, 100); public static void main (String[] args) JComboBoxEx cmbex = new JComboBoxEx(); cmbex.show(); 25

26 JTree Darstellen von Objekten in einer Baumstruktur. z.b. Verzeichnisstrukturen hier mit JScrollPane // Datei: JTreeEx.java import javax.swing.*; import javax.swing.tree.*; public class JTreeEx extends JFrame // Beschriftungen der Knoten String[] knoten = "Getränke", "Gewürz", "Süßwaren", "Milchprodukte"; // Beschriftungen der Blätter String[][] blaetter = "Alkohol ==> Birne hohl", "Mineralwasser", "Pfeffer", "Salz", "Schokolade", "Kaugummi", "Milch", "Käse" ; public JTreeEx() // Root-Node // Knoten (nodes) eines Baums DefaultMutableTreeNode root, node; // Modell, das die Daten des Baumes enthält DefaultTreeModel treemodel; JTree tree; // Root-Node erzeugen root = new DefaultMutableTreeNode ("Lebensmittel"); for (int j = 0; j < 2; j ++) // Blätter unter dem Knoten einfügen node.add (new DefaultMutableTreeNode (blaetter [i][j])); // TreeModel setzen treemodel = new DefaultTreeModel (root); // Baum erzeugen tree = new JTree (treemodel); // Baum in ScrollPane einfügen JScrollPane scrollpane = new JScrollPane (tree); // ScrollPane der ContentPane hinzufügen getcontentpane().add (scrollpane); setsize (200, 300); public static void main (String[] args) JTreeEx treeex = new JTreeEx(); treeex.show(); for (int i = 0; i < 4; i ++) // Knoten erzeugen node = new DefaultMutableTreeNode (knoten [i]); // den erzeugten Knoten unter dem Root-Node einfügen root.add (node); 26

27 JTable Daten tabellarisch in Spalten und Zeilen anzeigen s. Excel Access Datenbanken // Datei: JTableEx.java import javax.swing.*; public class JTableEx extends JFrame // Beschriftung der Spaltenköpfe String[] spalten = "Nummer", "Kategorie", "Bezeichnung", "Preis"; // Daten der Tabelle String[][] daten = "100000", "Getränk", "Bier", "1.21", "100001", "Getränk", "Wein", "11.68", "100002", "Gewürz", "Pfeffer", "2.56", "100003", "Gewürz", "Salz", "1.96", "100004", "Süßwaren", "Schokolade", "0.99", "100005", "Milchprodukte", "Milch", "0.89", "100006", "Milchprodukte", "Käse", "1.93", "100007", "Getränk", "Mineralwasser", "1.45" ; public JTableEx() super ("JTable-Beispiel"); // Tabelle mit Daten erzeugen JTable table = new JTable (daten, spalten); // Tabelle in ScrollPane einfügen JScrollPane scrollpane = new JScrollPane (table); // ScrollPane der ContentPane hinzufügen getcontentpane().add (scrollpane); setsize (300, 200); public static void main (String[] args) JTableEx tblex = new JTableEx(); tblex.show(); 27

28 Leichtgewichtige Container sie dienen der Gruppierung von Komponenten innerhalb von Top-Level Containern. Top-Level- Container selbst sind schwergewichtig. leichtgewichtige kann man in beliebiger Tiefe schachteln. JPanel, JScrollPane, JSplitPane, JTabbedPane und JInternalFrame JPanel In ihn kann man Komponenten einfügen. That s all. JScrollPane Komponente wird zu groß für einen Container. Bildlaufleisten helfen die unsichtbaren Teile zu sichten. // Datei: JScrollPaneEx.java import javax.swing.*; public class JScrollPaneEx extends JFrame //Liste private JList list; // Daten der Liste private Object[] data = "Realgröße", "Vollbild", "100%", "75%", "50%", "25%", "15%", "10%", "5%"; public JScrollPaneEx() super ("JScrollPane-Beispiel"); // Liste erzeugen list = new JList (data); // ScrollPane erzeugen und Liste einfügen JScrollPane scrollpane = new JScrollPane (list); // ScrollPane in ContentPane einfügen getcontentpane().add (scrollpane); setsize (300, 150); public static void main (String[] args) JScrollPaneEx scrollex = new JScrollPaneEx(); scrollex.show(); 28

29 JSplitPane teil Container in zwei Bereiche auf. In jeden kann man Komponenten legen. Größe kann man durch ziehen verändern. horizontal und vertikal teilbar // Datei: JSplitPaneEx.java import javax.swing.*; public class JSplitPaneEx extends JFrame public JSplitPaneEx() super ("JSplitPane-Beispiel"); // SplitPane erzeugen JSplitPane split = new JSplitPane(); // Komponente auf rechter Seite in SplitPane einfügen split.add (new JButton ("Rechts"), JSplitPane.RIGHT); // Komponente auf linker Seite in SplitPane einfügen split.add (new JLabel ("Links"), JSplitPane.LEFT); // SplitPane der ContentPane hinzufügen getcontentpane().add (split); setsize (300, 200); public static void main (String[] args) JSplitPaneEx spltex = new JSplitPaneEx(); spltex.show(); 29

30 JTabbedPane er kann mehrere Container oder Komponenten aufnehmen. Stapel von Komponenten die hintereinander liegen. Reiter anclicken Auswahl // Datei: JTabbedPaneEx.java import javax.swing.*; public class JTabbedPaneEx extends JFrame public JTabbedPaneEx() super ("JTabbedPane-Beispiel"); // TabbedPane erzeugen JTabbedPane tabbedpane = new JTabbedPane(); // Label erzeugen JLabel lbl = new JLabel ("JLabel"); // Label der TabbedPane hinzufügen tabbedpane.addtab ("Eins", lbl); // Button erzeugen JButton btn = new JButton ("JButton"); // Button der TabbedPane hinzufügen tabbedpane.addtab ("Zwei", btn); // "Zwei" gibt die Beschriftung des Reiters an // TextArea erzeugen JTextArea txt = new JTextArea ("JTextArea"); // TextArea der TabbedPane hinzufügen tabbedpane.addtab ("Drei", txt); setsize (300, 200); public static void main (String[] args) JTabbedPaneEx tabex = new JTabbedPaneEx(); tabex.show(); // Drittes Tab auswählen. Das erste Tab hat den Index 0. tabbedpane.setselectedindex (2); // TabbedPane der ContentPane hinzufügen getcontentpane().add (tabbedpane); 30

31 JInternalFrame Multidokument-Anwendung (MDI-Anwendung) realisiert werden. z.b. Word besteht aus einem Hauptfenster, innerhalb dessen mehrere Fenster angezeigt und verwaltet werden. MDI-Multiple Document Interface; Single Document Interface (SDI) ein einziges Hauptfenster Menüs auswählen von Funktionen JMenu Ein Menü besteht aus einer Menüleiste (JMenuBra), dem Menü (JMenu) und den Menüeinträgen (JMenuItem). MenuBar JMenu JMenu JMenuItem // Datei: JMenuEx.java import java.awt.*; import javax.swing.*; public class JMenuEx extends JFrame public JMenuEx() super ("JMenu-Beispiel"); // MenuBar der ContentPane am oberen Rand hinzufügen getcontentpane().add (createmenubar(), BorderLayout.NORTH); setsize (300, 200); 31

32 private JMenuBar createmenubar() // Menüleiste erzeugen JMenuBar menubar = new JMenuBar(); // Menü 'Zeichnen' erzeugen JMenu draw = new JMenu ("Zeichnen"); // Menüeintrag 'Linie' erzeugen und // dem Menü hinzufügen draw.add (new JMenuItem ("Linie")); draw.add (new JMenuItem ("Kreis")); draw.add (new JMenuItem ("Bogen")); // Untermenü 'Farben' erzeugen JMenu color = new JMenu ("Farben"); // Untermenü 'Farben' dem Menü 'Zeichnen' // hinzufügen draw.add (color); color.add (new JMenuItem ("Rot")); color.add (new JMenuItem ("Grün")); color.add (new JMenuItem ("Blau")); // Trennlinie hinzufügen draw.addseparator(); draw.add (new JMenuItem ("Kopieren")); draw.add (new JMenuItem ("Schieben")); draw.add (new JMenuItem ("Löschen")); menubar.add (draw); return menubar; public static void main (String args[]) JMenuEx mnuex = new JMenuEx(); mnuex.show(); 32

33 JPopupMenu stellt ein kontextbezogenes Menü dar. meist rechte Maustaste. JToolTip kontextsensitive Hilfe Mouse längere Zeit über Komponente gelbes Kästchen normalerweise nicht direkt verwendet. Statt dessen Methode set-tooltiptext() der Klasse JComponent aufrufen. JToolBar Werkzeugkasten, der am Rand eines Fensters angedockt werden kann. Choosers Standarddialoge zur Auswahl von Dateien (JFileChooser) oder zum Selektieren von Farben (JColorchooser). 33

34 JColorChooser Anordnung von Komponenten der Layout-Manager organisieren die Anordnung mehrerer Komponenten in einem Container. AWT und Swing. Veränderung Fenstergröße Layout Manager wird angesprochen. Jeder Container hat eine standardmäßige Referenz auf ein Objekt, das ein Interface Layout-Manager implementiert. anderer als Default (standardmäßig) dem Container vor der Übergabe der Komponenten mit der Methode setlayout (Layout-Manager) zuordnen. Elemente die mit der Methode add (Component) übergeben werden, ordnet der Layout Manager dann an. Toplevel Container Aufruf der beiden Methoden muss auf der Content Pane erfolgen. Reihenfolge der Aufrufe bestimmt die Anordnung, wenn keine Positionierungsinfos übergeben werden. Ansonsten nach den Koordinaten. Flowlayout in einer Zeile von links nach rechts Umbruch auf neue Zeile, wenn Zeile voll. parameterloser Konstruktor und Konstruktor mit Übergabe von rechts-, linksbündig oder zentriert. Public FlowLayout (int align, int hgap, int vgap) Lücke zwischen den Elementen. Mit CENTER, LEFT oder RIGHT. Voreinstellung (Default) Center und 5 Pixel Abstand. Veränderung Fenstergröße Lage verändert sich. BorderLayout Komponenten werden auf 4 Randbereiche verteilt (oben, unten, links und rechts). Positionierung der Komponenten mittels Übergabeparameter Himmelsrichtungen. 34

35 SOUTH, NORTH, EAST, WEST und CENTER public void add (Component comp, Object constraints) (Constraints=Grenzen) Skalierung: Nord Südelemente behalten gewünschte Höhe bei Ost- Westelemente ihre gewünschte Breite Größe der Lücken zwischen den Elemeneten wie oben BorderLayout (int hgab, int vgap) gap = Abstand in Pixel GridLayout Anordnung im rechteckigen Gitter (Grid=Gitter) Anzahl Zellen über Konstruktor public Gridlayout (int rows, int colums, int hgap, int vgap) Start links oben 35

36 GridBagLayout Gridlayout Erweiterung komplexe Layouts möglich. Gitter mit unterschiedlichen Zellengrößen. setconstraints (Component c, GridBagConstraints gbc) gridy und gridy Position im Gitter gridheight und gridwidth Anzahl der Zellen, die eine Komponente belegen soll. Height Zeilen weightx und weighty fill Raum zwischen den Zeilen und Spalten gewichten 0=0% und 1 = 100% anchor Richtung der Ausbreitung Ausrichtung in Zelle (Horizontal; Vertikal, Both und None) ( North, South, East, West, NE, SE, SW, NW, Center) Weitere Layout Manager CardLayout Karteikartendarstellung BoxLayout Package Javax.swing OverlayLayout Stapeln von Komponenten Viewportayout Viewport = sichtbarere Bereich eines Scrollfensters Null-Layout feste Koordinaten absolute Positionierung (pixelgenau) setlayout (null) 36

37 Eventhandling Verarbeiten von Ereignissen = asynchrone Verarbeitung von Nachrichten (Botschaften) Interaktion Windowsprogramming Die Ereignisverarbeitung basiert auf dem Delegationsmodell Event-Source Button, Menüpunkt etc. 1. Empfänger muss sich bei der Quelle registrieren, um bei Ereignissen automatisch benachrichtigt zu werden. Mehrere Empfänger möglich. 2. Nach Event von Source an alle registrieretn Empfänger gegeben. Vorteile: klare Trennung zwischen Oberfläche und Verarbeitung der Ereignisse nur an der Quelle registrierte Objekte werden informiert. Event-Hierarchie java.util.eventobject = Basisklasse aller Events getsource tostring = Beschreibung des Events als String usw. usw. Eigene Notizen. Probieren geht über studieren. 37

38 38

39 39

40 Ereignisquellen Vorgehensweise beim Implemntieren 1 des Event-Handlings Registrierung: Ereignisquelle anlegen Ereignisempfänger bestimmen Empfänger bei der Quelle registrieren addxyzlistener() XYZ=Platzhalter public class.. implements XYZListener public..() JButton buttonok = new JButton ( Ok ); buttonok.addlistener (this); Ein Beispiel: Button soll Frame benachrichtigen. Frame erhöht dann einen Zähler, der in einem Fenster dargestellt wird. s. Extrablätter Tafelanschrieb performed = ausgeführt 1 im ple men'tie ren 1. INFORMATIONSTECHNOLOGIE ein Programm oder Programmteil in ein Computersystem einbinden 40

41 // Datei: ZaehlerFrame.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ZaehlerFrame extends JFrame implements ActionListener JButton zaehlerbutton; int zaehler; JTextField anzahl; public ZaehlerFrame() super ("ZaehlerFrame"); zaehlerbutton = new JButton ("Erhöhe Zähler"); getcontentpane().add (zaehlerbutton, BorderLayout.NORTH); zaehlerbutton.addactionlistener (this); // Registrieren des // Frames am Button anzahl = new JTextField (10); // Textfeld der Größe 10 anlegen getcontentpane().add (anzahl, BorderLayout.SOUTH); // Diese Methode wird bei einem Klick auf den Button aufgerufen public void actionperformed (ActionEvent e) zaehler++; // Anzeigen des Zählerstandes anzahl.settext (String.valueOf (zaehler)); public static void main (String[] args) ZaehlerFrame f = new ZaehlerFrame(); f.setsize (300, 200); f.show(); 41

42 Ereignis-Typen Zwei Beispiele Maus-Events //Datei: MouseTest.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MouseTest extends JFrame implements MouseListener, MouseMotionListener private int clicked, pressedleft, pressedright, released, entered, exit, dragged, moved; private JTextField clickedfield, pressedleftfield, pressedrightfield, releasedfield, exitfield, enteredfield, draggedfield, movedfield; public MouseTest (String title) // Übergabe des Fenstertitels an die Superklasse super (title); // Setzen des LayoutManagers auf Gridlayout getcontentpane().setlayout (new GridLayout (8, 2)); // // Erzeugung der Labels und der TextFelder // zur Anzeige der Events // getcontentpane().add (new JLabel ("Clicked :")); clickedfield = new JTextField (15); getcontentpane().add (clickedfield); getcontentpane().add(new JLabel ("PressedLeft :")); pressedleftfield = new JTextField (15); getcontentpane().add (pressedleftfield); getcontentpane().add (new JLabel ("PressedRight :")); pressedrightfield = new JTextField (15); getcontentpane().add (pressedrightfield); getcontentpane().add (new JLabel ("Released :")); releasedfield = new JTextField (15); getcontentpane().add (releasedfield); getcontentpane().add (new JLabel ("Entered :")); 42

43 enteredfield = new JTextField (15); getcontentpane().add (enteredfield); getcontentpane().add (new JLabel ("Exit :")); exitfield = new JTextField (15); getcontentpane().add (exitfield); getcontentpane().add (new JLabel ("Dragged :")); draggedfield = new JTextField (15); getcontentpane().add (draggedfield); getcontentpane().add (new JLabel ("Moved :")); movedfield = new JTextField (15); getcontentpane().add (movedfield); // Einschalten der GlassPane, damit auf der gesamten // Fensteroberfläche Mausklicks empfangen werden können. Dies // ist notwendig, da diese ohne die GlassPane durch die // Komponenten abgefangen werden und nicht an das Fenster // weitergeleitet werden. getglasspane().setvisible (true); // Registrieren dieses Objektes an der GlassPane // als MouseListener getglasspane().addmouselistener (this); // registrieren dieses Objektes an der GlassPane // als MouseMotionListener getglasspane().addmousemotionlistener (this); // // ab hier folgt die Eventbehandlung // // implements MouseListener public void mouseclicked (MouseEvent event) clickedfield.settext ("" + (++clicked)); // implements MouseListener public void mousepressed (MouseEvent event) // Abfrage ob rechte Maustaste gedrückt wurde. // Dies geschieht in dem man die sogenannten Modifier mit // der META_MASK vergleicht. Trifft der Vergleich zu, so // ist die rechte Maustaste gedrückt worden. Falls nicht, // so ist die Linke gedrückt worden. if (event.getmodifiers() == InputEvent.META_MASK) pressedrightfield.settext ("" + (++pressedright)); else pressedleftfield.settext ("" + (++pressedleft)); // implements MouseListener public void mousereleased (MouseEvent event) 43

44 releasedfield.settext ("" + (++released)); // implements MouseListener public void mouseentered (MouseEvent event) enteredfield.settext ("" + (++entered)); // implements MouseListener public void mouseexited (MouseEvent event) exitfield.settext ("" + (++exit)); // implements MouseMotionListener public void mousedragged (MouseEvent event) draggedfield.settext ("" + (++dragged)); // implements MouseMotionListener public void mousemoved (MouseEvent event) movedfield.settext ("" + (++moved)); public static void main (String[] args) // Erzeugen und Anzeigen eines neuen Frames MouseTest f = new MouseTest ("Mouse Test"); f.setsize (300, 200); f.show(); weiter s. a. ExtraSkript Einstieg mit Applets Tastatur Events // Datei: KeyTest.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class KeyTest extends JFrame implements KeyListener JTextField pressed; JTextField released; JTextField typed; public KeyTest (String title) super (title); addkeylistener (this); getcontentpane().setlayout (new FlowLayout()); getcontentpane().add (new Label ("Key Pressed:")); pressed = new JTextField (15); 44

45 pressed.seteditable (false); getcontentpane().add (pressed); getcontentpane().add (new Label ("Key Released:")); released = new JTextField (15); released.seteditable (false); getcontentpane().add (released); getcontentpane().add (new Label ("Key Typed:")); typed = new JTextField (15); typed.seteditable (false); getcontentpane().add (typed); requestfocus(); public void keytyped (KeyEvent event) typed.settext ("Char:" + event.getkeychar() + " Code: " + event.getkeycode()); public void keypressed (KeyEvent event) pressed.settext ("Char:" + event.getkeychar() + " Code: " + event.getkeycode()); public void keyreleased (KeyEvent event) released.settext ("Char:" + event.getkeychar() + " Code: " + event.getkeycode()); public static void main (String[] args) KeyTest f =new KeyTest ("Key Test"); f.setsize (300, 200); f.show(); Aufgabe: Wieso funktioniert obiger Sourcecode nicht??? 45

46 46

47 Weiter Adapterklassen OOP Osterei Fahrkarten Automat 47

Swing Lernen am Code Teil 1

Swing Lernen am Code Teil 1 Swing Lernen am Code Teil 1 Swing Fenster erzeugen import java.awt.* import java.awt.event.* import javax.swing.* class SwingDemo{ static JFrame Fenster; public static void main(string[] args){ } } Fenster

Mehr

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

Zentrale 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

Mehr

Objektorientierte Software-Entwicklung

Objektorientierte Software-Entwicklung Objektorientierte Software-Entwicklung Priv.-Doz. Dr. Rolf Hennicker 08.01.2003 AWT und Swing AWT (Abstract Window Toolkit) und Swing 2 AWT (Abstract Window Toolkit) und Swing AWT und Swing bieten eine

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 14 Einstieg in die Informatik mit Java Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 14 1 Einführendes Beispiel 2 Eigenschaften von Swing 3 Typisches Swing-Applet

Mehr

Java I Vorlesung 11 Graphische Oberflächen mit Swing

Java 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

Mehr

GUI Programmierung mit JAVA Swing

GUI 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

Mehr

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

Einfü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

Mehr

Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster

Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster by Ali Bastan Gliederung Grundlagen von Swing 1. Kurze Einleitung 2. Warum Swing, wenn es das AWT gibt? 3. Was ist Swing? 4. Merkmale von Swing 5.

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

Grundlagen der Programmierung APPLETS

Grundlagen der Programmierung APPLETS Grundlagen der Programmierung APPLETS Inhalt dieser Einheit Java-Applets: Java-Applets Vor- und Nachteile Sicherheitskonzepte Methoden Einbetten in HTML Graphical User Interface 2 Java Applets Applets

Mehr

GRAFISCHE BENUTZERSCHNITTSTELLEN

GRAFISCHE BENUTZERSCHNITTSTELLEN Vorlesung 4.4 GRAFISCHE BENUTZERSCHNITTSTELLEN Dr. Philip Mayer # 1 GUIs Grafische Benutzerschnittstellen (GUIs, Graphical User Interfaces) bieten dem Benutzer Zugriff auf ein Anwendungssystem GUIs sind

Mehr

Swing :Komponenten I (Teil 2)

Swing :Komponenten I (Teil 2) l Bei Swing handelt es sich um eine Programmierschnittstelle und Grafikbibliothek zum Programmieren von grafischen Benutzeroberflächen l Swing stellt eine Menge von Klassen zur Verfügung l Swing wurde

Mehr

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr.

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr. Programmieren II Dr. Klaus Höppner Hochschule Darmstadt SS 2008 1 / 22 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische Benutzeroberfläche (engl: Graphical User Interface,

Mehr

...erinnern Sie sich? oopjs4b / kwhbkd4r

...erinnern Sie sich? oopjs4b / kwhbkd4r ...erinnern Sie sich? oopjs4b / kwhbkd4r !" Ereignisbehandlung in awt/swing führt Liste interessierter Behandler GUI- Komponente (z.b. Knopf) wird eingetragen trägt ein Ereigniskanal fertigt ab neuer Behandler

Mehr

Objektorientierte Programmierung

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

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

Java GUI Entwicklung mit Swing

Java GUI Entwicklung mit Swing Seminarunterlage Version: 5.03 Version 5.03 vom 13. Februar 2014 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Einführung in Swing. Graphical User Interface

Einführung in Swing. Graphical User Interface Einführung in Swing Ho Ngoc Duc IFIS - Universität zu Lübeck Graphical User Interface Ein GUI-Programm beinhaltet: Graphische Darstellung der Anwendungsdaten und Interaktionsmöglichkeiten in Fenstern Steuerung

Mehr

NTB Druckdatum: 01.04.13 -

NTB Druckdatum: 01.04.13 - AWT UND SWING AWT = abstract windowing toolkit Bausteine Eigenes Fenster Programmcode steht nicht im Main, sondern in einer separaten Klasse extends JFrame JWindow selbstständiges Fenster, ohne Rahmen

Mehr

Graphische Benutzungsoberflächen

Graphische 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

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Ü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:

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Exkurs GUI-Programmierung mit Java-SWING Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Für Hinweise und konstruktive Kritik

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

Auszug aus der Klassenstruktur

Auszug aus der Klassenstruktur Swing javax.swing Auszug aus der Klassenstruktur JComponent AbstractButton JColorChooser JComboBox JInternalFrame JLabel JList JPanel JTable JTextComponent JTree JToolBar JToolTip JToggleButton JButton

Mehr

Tutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane

Tutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane Hochschule Harz Programmierung2 Tutorial 04: FB Automatisierung und Informatik Dipl.-Inf., Dipl.-Ing. (FH) M. Wilhelm Programmierung 2 für MI / WI Thema: Swing, JSplitPane und I/O Versuchsziele Kenntnisse

Mehr

GUI Programmierung mit javax.swing

GUI Programmierung mit javax.swing java.awt Swing Komponenten Layout Manager Ausblick GUI Programmierung mit University basierend auf Folien von Dr. Beatrice Amrhein (Bern), 19. Juni 2006 java.awt Swing Komponenten Layout Manager Ausblick

Mehr

Einführung: Grafische Benutzeroberflächen. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 22

Einführung: Grafische Benutzeroberflächen. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 22 Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 22 Einführung: Grafische Benutzeroberflächen 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische

Mehr

Swing Grundlagen. Andre Eichmann

Swing Grundlagen. Andre Eichmann Swing Grundlagen Andre Eichmann Inhaltsverzeichnis Swing: Grundlagen - Einleitung - Ein einleitendes Beispiel Swing: Container und Menüs - Hauptfenster - Menüs Swing: Grundlagen Nachteile von AWT: - Schwierig,

Mehr

GUI-Programmierung. Teil I. Unterlagen zum Modul OOP mit Java V by MOU2/BFH-TI. Berner Fachhochschule Technik und Informatik

GUI-Programmierung. Teil I. Unterlagen zum Modul OOP mit Java V by MOU2/BFH-TI. Berner Fachhochschule Technik und Informatik GUI-Programmierung mit Java Teil I Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI GUI-Programmierung V3.0 2011 by WBR1&MOU2/BFH-TI Lernziele Die Kursteilnehmer sind in

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

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

Institut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke

Institut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke GUIs mit Swing Markus Reschke 28.08.2014 Beispiel: Ein einfaches GUI-Programm Siehe Painter.java Markus Reschke GUIs mit Swing 2 GUI Frameworks in Java AWT war das erste GUI-Framework, welches mit Java

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-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

Mehr

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung Aufgabe Editor package BA.GUI.Swing; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.logging.level; import java.util.logging.logger;

Mehr

Programmieren mit Swing

Programmieren mit Swing Jürgen Schlierf Rudolf Weber Programmieren mit Swing Einfuhrung in die Programmierung mit den Swing-Klassen in Java 2 HANSER Carl Hanser Verlag München Wien Inhaltsverzeichnis 1 Einleitung 1 1.1 Von Java

Mehr

Einführung in die Programmierung für NF. Grafische Benutzeroberflächen

Einführung in die Programmierung für NF. Grafische Benutzeroberflächen Einführung in die Programmierung für NF Grafische Benutzeroberflächen Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorienferte Programmierung kennenlernen.

Mehr

Einführung in GUI-Programmierung. javax.swing

Einführung in GUI-Programmierung. javax.swing Einführung in GUI-Programmierung javax.swing GUI Graphical User Interface ( Grafische Benutzerschnittstelle ) Anschaulichere und leichtere Möglichkeit zur Dateneingabe und Kontrolle von Programmen Stellt

Mehr

Swing. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Swing. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 27.06.07 G. Bohlender (IANM UNI Karlsruhe) Swing 27.06.07 1 / 10 Übersicht 1 Einführendes

Mehr

tentoinfinity Apps 1.0 EINFÜHRUNG

tentoinfinity Apps 1.0 EINFÜHRUNG tentoinfinity Apps Una Hilfe Inhalt Copyright 2013-2015 von tentoinfinity Apps. Alle Rechte vorbehalten. Inhalt der online-hilfe wurde zuletzt aktualisiert am August 6, 2015. Zusätzlicher Support Ressourcen

Mehr

Grafische Benutzeroberflächen mit Swing

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

Mehr

Ziele. Kapitel 8: Grafische Benutzerschnittstellen. AWT und Swing. Ziele (2)

Ziele. Kapitel 8: Grafische Benutzerschnittstellen. AWT und Swing. Ziele (2) Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Ziele Kapitel 8: Grafische Benutzerschnittstellen Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische

Mehr

Java für Computerlinguisten

Java für Computerlinguisten Java für Computerlinguisten 5. Grafische Userinterfaces Christian Scheible Institut für Maschinelle Sprachverarbeitung 31. Juli 2009 Christian Scheible Java für Computerlinguisten 31. Juli 2009 1 / 33

Mehr

http://www.tutego.com/ Schieberegler und analoge Anzeigen

http://www.tutego.com/ Schieberegler und analoge Anzeigen http://www.tutego.com/ Schieberegler und analoge Anzeigen http://www.tutego.com/ JScrollBar Schieberegler Unter Swing ersetzt javax.swing.jscrollbardie Klasse java.awt.scrollbar. Direkt wird die Klasse

Mehr

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de Stand FTE2 Anfang 4. Semester plus Projekt Multiuhren_Thread Ich gehe im Hinblick auf Klassenarbeiten und der Abschlussprüfung davon aus, dass Sie das Skript OOP JAVA2 durchgearbeitet haben. Wir haben

Mehr

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2 Inhalt 1. Toolbar 1. JToolBar 2. Menü 1. JMenuBar 2. JMenu 3. JMenuItem 4. KeyStroke 5. Beispiel JMenuDemo1 6. JCheckBoxMenuItem 7. JRadioButtonMenuItem 8. Beispiel JMenuDemo2 9. JPopupMenu 10. Beispiel

Mehr

Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen (engl.: "graphical user interface", GUI) in Java

Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen (engl.: graphical user interface, GUI) in Java GUI-Programmierung in Java GUI-Programmierung in Java 2002 Prof. Dr. Rainer Manthey Informatik II 1 AWT und Swing Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen

Mehr

Kap. 36. SWING: Menüs. und weitere SWING-Container. Seán Dempsey

Kap. 36. SWING: Menüs. und weitere SWING-Container. Seán Dempsey Kap. 36 SWING: Menüs und weitere SWING-Container Seán Dempsey Grundlagen von Menüs Hauptklasse: JMenuBar SWING- Entsprechung der AWT-Menüklasse MenuBar JMenuBar Menüleiste (JMenuBar) enthält Menüs (JMenu)

Mehr

JAVA Oberflächen mit Swing

JAVA Oberflächen mit Swing JAVA Oberflächen mit Swing Grafik von http://javafx.com 168 168 AGENDA Grundlagen GUI Swing JavaFX 169 169 GRAPHISCHE BENUTZEROBERFLÄCHEN (1) AWT = Abstract Window Toolkit Verwendet die jeweiligen GUI-Komponenten

Mehr

Handbuch B4000+ Preset Manager

Handbuch B4000+ Preset Manager Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten

Mehr

Einbindung der Tastatur

Einbindung der Tastatur Einbindung der Tastatur Auch die Tastatur kann man wie die Maus zur interaktiven Programmsteuerung verwenden. Bei der Maus ist stets klar, welche grafische Komponente bei einem Klick oder einer Bewegung

Mehr

Mensch-Maschine-Interaktion

Mensch-Maschine-Interaktion Universität Dortmund, Fachbereich Informatik Peter Bollweg, OH16 E08, bollweg@ls7.cs.uni-dortmund.de, 6328 Constantin Timm, OH16 E06, timm@ls12.cs.uni-dortmund.de, 6144 Christian Asche Dortmund, 19. Oktober

Mehr

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 03: Swing Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Einführung in GUI-Programmierung Motivation Grundlagen von Swing Praxis: UI für

Mehr

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Allgemeines: Bitte lesen Sie sich diese Anleitung zuerst einmal komplett durch. Am Besten, Sie drucken sich diese Anleitung

Mehr

Kleines Handbuch zur Fotogalerie der Pixel AG

Kleines Handbuch zur Fotogalerie der Pixel AG 1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen 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

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

Anleitung zur Pflege der Homepage über den Raiffeisen-Homepage-Manager

Anleitung zur Pflege der Homepage über den Raiffeisen-Homepage-Manager Anleitung zur Pflege der Homepage über den Raiffeisen-Homepage-Manager Homepage-Manager Navigation Home Der Homepage-Manager bietet die Möglichkeit im Startmenü unter dem Punkt Home einfach und schnell

Mehr

Text Formatierung in Excel

Text Formatierung in Excel Text Formatierung in Excel Das Aussehen des Textes einer oder mehrerer Zellen kann in Excel über verschiedene Knöpfe beeinflusst werden. Dazu zuerst die betroffenen Zelle(n) anwählen und danach den entsprechenden

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Benutzeroberflächen. Java Teil 4

Benutzeroberflächen. Java Teil 4 Benutzeroberflächen Java Teil 4 Einleitung Eine grafische Benutzeroberfläche (Graphical User Interface) ermöglicht dem Benutzer die Interaktion mit dem Computer über grafische Symbole. Die GUI haben in

Mehr

2A Basistechniken: Weitere Aufgaben

2A 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

Mehr

Einführung in GUI-Programmierung. javax.swing

Einführung in GUI-Programmierung. javax.swing Einführung in GUI-Programmierung javax.swing GUI Graphical User Interface ( Grafische Benutzerschnittstelle ) Anschaulichere und leichtere Möglichkeit zur Dateneingabe und Kontrolle von Programmen Stellt

Mehr

1 Möglichkeiten zur Darstellung von Daten

1 Möglichkeiten zur Darstellung von Daten 1 1 Möglichkeiten zur Darstellung von Daten 1.1 Diagramme 1.1.1 Datenreihen in Zeilen oder Spalten Die erste Wahl bei der Erstellung eines Diagramms besteht daraus, ob die Datenreihen auf den Daten aus

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Kapitel 7: Ereignis-basierte Kommunikation

Kapitel 7: Ereignis-basierte Kommunikation Liste P: Programmieren mit Java WS 2001/2002, Prof. Dr. V. Turau, FH Wiesbaden Kapitel 7: Ereignis-basierte Kommunikation Folie 125 : Grafische Oberflächen Eine grafische Oberfläche besteht aus Komponenten.

Mehr

Kapitel 8: Grafische Benutzerschnittstellen

Kapitel 8: Grafische Benutzerschnittstellen Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Kapitel 8: Grafische Benutzerschnittstellen Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E S TAND N OVEMBE R 2012 HANDBUCH T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E Herausgeber Referat Informationstechnologie in der Landeskirche und im Oberkirchenrat Evangelischer Oberkirchenrat

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

HTML Programmierung. Aufgaben

HTML Programmierung. Aufgaben HTML Programmierung Dr. Leander Brandl BRG Keplerstraße - A-8020 Graz Universität Graz - Institut für Experimentalphysik Fachdidaktik der Physik http://w4.brgkepler.asn-graz.ac.at 1. Die erste Web-Seite

Mehr

TeamSpeak3 Einrichten

TeamSpeak3 Einrichten TeamSpeak3 Einrichten Version 1.0.3 24. April 2012 StreamPlus UG Es ist untersagt dieses Dokument ohne eine schriftliche Genehmigung der StreamPlus UG vollständig oder auszugsweise zu reproduzieren, vervielfältigen

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Layout Manager. Astrid Beck FHT Esslingen

Layout Manager. Astrid Beck FHT Esslingen Layout Manager Astrid Beck FHT Esslingen Layout Manager Layout Manager arrangieren den Inhalt eines Containers gemäß vorgegebener Regeln Layout Manager BorderLayout North, South, East, West, Center FlowLayout

Mehr

Web2Lead. Konfiguration

Web2Lead. Konfiguration Web2Lead Konfiguration 1. Was ist Web2Lead?... 3 2. Erstellen Sie ein individuelles Kontaktformular... 3 2.1 Optionen...4 2.2 Benachrichtigungen...4 2.3 Verkaufschance...4 2.4 Formular Felder...4 Copyright

Mehr

Programmierkurs Java

Programmierkurs 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

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

2 DAS BETRIEBSSYSTEM. 2.1 Wozu dient das Betriebssystem. 2.2 Die Bildschirmoberfläche (Desktop) Themen in diesem Kapitel: Das Betriebssystem

2 DAS BETRIEBSSYSTEM. 2.1 Wozu dient das Betriebssystem. 2.2 Die Bildschirmoberfläche (Desktop) Themen in diesem Kapitel: Das Betriebssystem 2 DAS BETRIEBSSYSTEM Themen in diesem Kapitel: Das Betriebssystem Die Windows-Oberfläche Elemente eines Fensters 2.1 Wozu dient das Betriebssystem Das Betriebssystem (engl.: operating system, kurz: OS)

Mehr

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Seit Anfang Juni 2012 hat Facebook die Static FBML Reiter deaktiviert, so wird es relativ schwierig für Firmenseiten eigene Impressumsreiter

Mehr

Microsoft Access 2013 Navigationsformular (Musterlösung)

Microsoft Access 2013 Navigationsformular (Musterlösung) Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Access 2013 Navigationsformular (Musterlösung) Musterlösung zum Navigationsformular (Access 2013) Seite 1 von 5 Inhaltsverzeichnis Vorbemerkung...

Mehr

Kurzeinweisung. WinFoto Plus

Kurzeinweisung. WinFoto Plus Kurzeinweisung WinFoto Plus Codex GmbH Stand 2012 Inhaltsverzeichnis Einleitung... 3 Allgemeines... 4 Vorbereitungen... 4 Drucken des Baustellenblatts im Projekt... 4 Drucken des Barcodes auf dem Arbeitsauftrag

Mehr

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2 Inhalt 1. Drag and Drop (DnD) 1. Transfer-Mechanismus 2. Transfer-Support 3. Cursor-Symbole 4. Einführendes Beispiel 5. Komponenten DnD-fähig machen 6. Standard DnD-Verhalten ändern Folie 1 Lernziele Sie

Mehr

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen

Mehr

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik 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

Mehr

Programm GArtenlisten. Computerhinweise

Programm GArtenlisten. Computerhinweise Programm GArtenlisten Computerhinweise Liebe/r Vogelbeobachter/in, anbei haben wir Ihnen ein paar wichtige Tipps für ein reibungsloses Funktionieren der mitgelieferten Ergebnisdatei auf Ihrem Computer

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: 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

Mehr

5.2 Neue Projekte erstellen

5.2 Neue Projekte erstellen 5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort

Mehr

Tutorial: Wie kann ich Dokumente verwalten?

Tutorial: Wie kann ich Dokumente verwalten? Tutorial: Wie kann ich Dokumente verwalten? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Dokumente verwalten können. Dafür steht Ihnen in myfactory eine Dokumenten-Verwaltung zur Verfügung.

Mehr

Objektorientierte Programmierung

Objektorientierte 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

Mehr

GUI-Programmierung in Java

GUI-Programmierung in Java GUI-Programmierung in Java Jan Pihl, Daniel Bugdalle 1. Einleitung Betreuer: Thomas Ströder Die Bedienung von Software stellt sich oft als etwas schwierig für viele Nutzer heraus, wenn es keine grafische

Mehr

Handbuch zum Excel Formular Editor

Handbuch zum Excel Formular Editor Handbuch zum Excel Formular Editor Mit diesem Programm können Sie die Zellen von ihrer Excel Datei automatisch befüllen lassen. Die Daten können aus der Coffee Datenbank, oder einer weiteren Excel Datendatei

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle 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

Mehr

Steganos Secure E-Mail Schritt für Schritt-Anleitung für den Gastzugang SCHRITT 1: AKTIVIERUNG IHRES GASTZUGANGS

Steganos Secure E-Mail Schritt für Schritt-Anleitung für den Gastzugang SCHRITT 1: AKTIVIERUNG IHRES GASTZUGANGS Steganos Secure E-Mail Schritt für Schritt-Anleitung für den Gastzugang EINLEITUNG Obwohl inzwischen immer mehr PC-Nutzer wissen, dass eine E-Mail so leicht mitzulesen ist wie eine Postkarte, wird die

Mehr

1. Arbeiten mit dem Touchscreen

1. Arbeiten mit dem Touchscreen 1. Arbeiten mit dem Touchscreen 1.1. Einleitung Als weitere Buchungsart steht bei DirectCASH ein Touchscreen zur Verfügung. Dieser kann zwar normal via Maus bedient werden, vorzugsweise jedoch durch einen

Mehr

Einleitung: Frontend Backend

Einleitung: Frontend Backend Die Internetseite des LSW Deutschland e.v. hat ein neues Gesicht bekommen. Ab dem 01.01.2012 ist sie in Form eines Content Management Systems (CMS) im Netz. Einleitung: Die Grundlage für die Neuprogrammierung

Mehr

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

Mehr

Informatik Kurs 12 André Hoffmann. Delphi. Einführung in die Windows- Programmierung

Informatik Kurs 12 André Hoffmann. Delphi. Einführung in die Windows- Programmierung Informatik Kurs 12 André Hoffmann Delphi Einführung in die Windows- Programmierung Grundlagen Entwicklung von Windows-Programmen Relativ unkompliziert durch typische, vorgefertigte Elemente Programmiertechnische

Mehr