7.1 Übersicht Geschichte von swing

Größe: px
Ab Seite anzeigen:

Download "7.1 Übersicht Geschichte von swing"

Transkript

1 Frühjahrsemester 2012 CS108 Programmier-Projekt Kapitel 7: Grafikprogrammierung mit swing H. Schuldt 7.1 Übersicht Geschichte von swing AWT hat den meisten Ansprüchen für die Grafikprogrammierung nicht genügt Abhilfe wurde durch die Java Foundation Classes (JFC) geschaffen JFC beinhalten Erweiterungen für die Erstellung grafischer Benutzerschnittstellen JFC-Erweiterungen: Swing GUI-Komponenten: sind vollständig in Java implementiert und daher nicht mehr plattformabhängig (basieren aber zum Teil wiederum auf AWT) Pluggable look and feel: Möglichkeit, das Aussehen von Komponenten zur Laufzeit zu verändern Accessibility: Unterstützung für Menschen mit Behinderungen (z.b. Lesegeräte für Blinde, Lupe für den Bildschirm, oder auch Spracherkennung) Java 2D-API: Unterstützung der Objektbeschreibung und -darstellung Unterstützung von Drag & Drop: Kopie von Daten über Anwendungsgrenzen hinweg Internationalisierung Unterstützung der Model-View-Controler (MVC)-Architektur Programmier-Projekt (cs108) Grafikprogrammierung 7-2 1

2 Model View Controller (MVC) Model-View-Controller ist ein Software-Architekturmuster, das die Anwendungslogik von der grafischen Benutzerschnittstelle separiert Bestandteile: Model (Modell): anwendungsabhängige Repräsentation der Daten (auf denen die Anwendungslogik angewandt wird). Bei Änderung der Daten werden die zugehörigen Views benachrichtigt. View (Präsentation): Benutzerschnittstelle (Graphische Repräsentation). Zu einem Modell kann es mehrere unterschiedliche Views geben. Controller (Steuerung): verwaltet alle Präsentationen zu einem Modell. Nimmt Input auf und stösst die Reaktion auf Benutzerinteraktionen an. Controller View Model Programmier-Projekt (cs108) Grafikprogrammierung 7-3 Swing: Übersicht Zusätzlich zu den AWT-Komponenten gibt es in swing eine Menge an neuen Komponenten Swing-Komponenten sind alle Subklassen der Klasse Jcomponent Swing API-Pakete javax.swing javax.accessibility javax.swing.border javax.swing.text Verwendung von Swing: Import von (in den meisten Fällen) import javax.swing.* import javax.swing.event.* Programmier-Projekt (cs108) Grafikprogrammierung 7-4 2

3 Swing-Beispiele Beispiel 1: Hello World import javax.swing.*; import javax.swing.event.*; public class HelloWorldSwing { private static void createandshowgui() { // Make sure we have nice window decorations JFrame.setDefaultLookAndFeelDecorated(true); // Create and set up the window. JFrame frame = new JFrame("HelloWorldSwing"); frame.setdefaultcloseoperation(jframe.exit_on_close); Grundlegende Aufgaben // Add the ubiquitous "Hello World" label JLabel label = new JLabel("Hello World"); 1. Importiere Pakete frame.getcontentpane().add(label); 2. Top-Level Container // Display the window aufsetzen frame.pack(); frame.setvisible(true); 3. Anzeige des } Containers 4. Komponenten public static void main(string[] args) { // Schedule a job for the event-dispatching thread: hinzufügen // creating and showing this application's GUI 5. Auf Concurrency javax.swing.swingutilities.invokelater(new Runnable(){ achten public void run() { ( be thread-safe ) createandshowgui(); } }); } } Programmier-Projekt (cs108) Grafikprogrammierung 7-5 Beispiel 2: Erzeugung von Buttons Swing-Beispiele JButton button = new JButton("I'm a Swing button!"); button.setmnemonic('i'); button.addactionlistener(/*...create an action listener...*/); und Label...// where instance variables are declared: private static String labelprefix = "Number of button clicks: "; private int numclicks = 0;...// in GUI initialization code: final JLabel label = new JLabel(labelPrefix + "0 ");...// in the event handler for button clicks: label.settext(labelprefix + numclicks); Programmier-Projekt (cs108) Grafikprogrammierung 7-6 3

4 Swing-Beispiele Beispiel 2: Komponenten zu Containern hinzufügen // Create container, assign layout manager JPanel panel = new JPanel(new GridLayout(0,1)); // Add components panel.add(button); panel.add(label); // Set a border around the panel panel.setborder(borderfactory.createemptyborder( 30, //top 30, //left 10, //bottom 30) //right ); Programmier-Projekt (cs108) Grafikprogrammierung 7-7 Beispiel 2: Event Handling Swing-Beispiele public class SwingApplication implements ActionListener {... JButton button = new JButton("I'm a Swing button!"); button.addactionlistener(this);... public void actionperformed(actionevent e) { numclicks++; label.settext(labelprefix + numclicks); } } Wenn der Button (JButton) angekickt wird, dann wird ein ActionEvent erzeugt, die actionperformed-methode des ActionListener wird aufgerufen und das Label (JLabel) wird aktualisiert. Programmier-Projekt (cs108) Grafikprogrammierung 7-8 4

5 Swing-Elemente werden unterteilt in: Kontrollelemente/Komponenten Container LayoutManager Events Swing-Elemente Komponenten sind die Hauptbestandteile ( building blocks ) von swing gibt es für unterschiedliche Anwendungen und in unterschiedlichen Komplexitätsstufen Programmier-Projekt (cs108) Grafikprogrammierung 7-9 Swing-Elemente Container sind hierarchisch organisiert Top level container Intermediate containers Atomic components (in den Blättern des Hierarchiebaumes) z.b. Container-Klassen dienen dazu, Komponenten zu gruppieren, anzuordnen und als eine einzelne Einheit zu behandeln Zur Anordnung der Elemente am Bildschirm hat jeder Container einen Layout-Manager zugeordnet Programmier-Projekt (cs108) Grafikprogrammierung

6 7.2 Top Level-Container Auf oberster Ebene in jeder Containment Hierarchie befinden sich die Top Level Container (Frame, Applet oder Dialog) Jedes Swing-Programm hat zumindest einen davon Applet Frame Dialog Programmier-Projekt (cs108) Grafikprogrammierung 7-11 Verwendung der Top Level-Container Um dargestellt werden zu können, sollte jede GUI-Komponente Teil einer containment hierarchy sein Eine containment hierarchy ist baumartig strukturiert, mit dem top level-container als Wurzel Jede GUI-Komponente kann genau einmal in einer Hierarchie enthalten sein. Falls eine Komponente bereits in einem Container C 1 enthalten ist, dann wird sie beim Einfügen in Container C 2 automatisch aus C 1 gelöscht Jeder top-level container hat ein so genanntes content pane, das die sichtbaren Komponenten dieser GUI enthält (direkt oder transitiv) Zu einen top-level container kann man optional noch eine Menüleiste (menu bar) hinzufügen. Diese Menüleiste ist im top level-container enthalten, aber ausserhalb der content pane Klassen der drei top-level container: JFrame JDialog JApplet Programmier-Projekt (cs108) Grafikprogrammierung

7 Verwendung der Top Level Container: Root Pane Das Root Pane (Hauptkomponente) ist in unsichtbarer Art und Weise an jeden Top-Level Container angehängt Die Hauptkomponente verwaltet alles zwischen Top Level Container und Komponenten Wird automatisch von Swing bei der Erzeugung des Frames erstellt Platziert die Menüleiste und das ContentPane Für die weitere Programmierung sind folgende Bestandteile der Hauptkomponente wichtig: Content Pane Menu Bar Programmier-Projekt (cs108) Grafikprogrammierung 7-13 ContentPane In der Regel wird ein JPanel verwendet Das JPanel enthält alles, was von den meisten Swing- Anwendungen benötigt wird (ausser der Menüleiste) Es sollte explizit erzeugt werden (obwohl es eine default- Lösung gibt): // Create a panel and add components to it JPanel contentpane = new JPanel(); // To get the default one: // JPanel contentpane = frame.getcontentpane(); contentpane.add(somecomponent); contentpane.add(anothercomponent); //Make it the content pane. contentpane.setopaque(true); toplevelcontainer.setcontentpane(contentpane); Zugehörige Containment Hierarchy Programmier-Projekt (cs108) Grafikprogrammierung

8 MenuBar Alle Top-Level Container (in Frames, evtl. auch in Applets) haben eine Menüleiste Hinzufügen einer Menüleiste 1. Erzeugen des JMenuBar-Objekts und mit Menüs befüllen 2. Zum Frame hinzufügen JMenuBar mymenubar = new JMenuBar();... frame.setjmenubar(mymenubar); Programmier-Projekt (cs108) Grafikprogrammierung 7-15 Top Level Container: JFrame Beispiel: Erzeugung eines Fensters mit Rand (border), Titelleiste und buttons mittels JFrame: // 1. Optional: Specify who draws the window decorations JFrame.setDefaultLookAndFeelDecorated(true); // 2. Create the frame JFrame frame = new JFrame("FrameDemo"); // 3. Optional: What happens when the frame closes? frame.setdefaultcloseoperation(jframe.exit_on_close); // 4. Create components and put them in the frame //...create emptylabel... frame.getcontentpane().add(emptylabel,borderlayout.center); // 5. Size the frame frame.pack(); // 6. Show it frame.setvisible(true); Programmier-Projekt (cs108) Grafikprogrammierung

9 Top Level Container: Dialogboxen Dialogboxen Sind in ihrer Funktionalität eingeschränkter als Frames Hängen von anderem Fenster ab Typen von Dialogen JDialog (ist top-level container) JOptionPane JColorChooser JFileChooser Programmier-Projekt (cs108) Grafikprogrammierung 7-17 Anzeige von Dialogen JOptionPane.showMessageDialog(frame, "Eggs aren't supposed to be green."); Stellt einen Dialog mit einem Button (OK) dar (und selbst vergebener Nachricht, Icon und Titel) Object[] options = {"Yes, please", "No, thanks", "No eggs, no ham!"}; int n = JOptionPane.showOptionDialog(frame, "Would you like some green eggs to go " + "with that ham?", "A Silly Question", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[2]); showoptiondialog Programmier-Projekt (cs108) Grafikprogrammierung

10 Top Level Container: Applets JApplet ist top-level container, der Menüleiste und content pane unterstützt Erfordert ein Java-Plugin für den Web-Browser (sind keine eigenständigen Anwendungen) Applets werden in diesem Kapitel nicht weiter betrachtet Entspricht nicht den Vorgaben des cs108 Java-Projekts Programmier-Projekt (cs108) Grafikprogrammierung Intermediate Container Auf mittlerer Ebene der Container-Hierarchie (Intermediate Container) unterscheidet man general-purpose container und special-purpose container General-purpose container können für mehrere Zwecke eingesetzt werden Swing kennt die folgenden general-purpose container: Panel Toolbar Scroll Pane Tabbed pane Split pane Programmier-Projekt (cs108) Grafikprogrammierung

11 General-Purpose Container: JPanel Container für eher leichtgewichtige Komponenten JPanel stellt by default zunächst nichts dar, ausser seinem Hintergrund Sehr sinnvoll um eine GUI zu strukturieren Hauptmethoden setlayout( ) sets the layout manager add( ) add a new component to the panel Programmier-Projekt (cs108) Grafikprogrammierung 7-21 General Purpose Container: JScrollPane Code, der einen Textbereich erzeugt, in dem der Nutzer scrollen kann. Die Scrollbar wird zu einem Container hinzugefügt textarea = new JTextArea(5, 30);... JScrollPane scrollpane = new JScrollPane(textArea);... setpreferredsize(new Dimension(450, 110));... add(scrollpane, BorderLayout.CENTER); Programmier-Projekt (cs108) Grafikprogrammierung

12 Special-purpose Container: Übersicht Die special-purpose container spielen für die grafische Benutzerschnittstelle spielen eine wichtige Rolle, da sie die überlappende Platzierung von Komponenten unterstützen. Es gibt die folgenden special-purpose container: Internal Frame Layered Pane Root Pane Programmier-Projekt (cs108) Grafikprogrammierung 7-23 Special-purpose Container: Layered Pane Werden vom root pane angeboten, können aber auch explizit erzeugt werden Ein layered pane ist ein Swing-Container, der eine dritte Dimension, die depth (Z order) für die Positionierung von Komponenten anbietet. Beim Hinzufügen einer Komponente zur Layered Pane muss ihre depth angegeben werden. Falls Komponenten überlappen werden diese mit höherer depth über den anderen platziert Depth wird als Integer spezifiziert. Default-Werte sind: frame content (content pane,menu bar) = default (components) = 0 palette (toolbar and palettes) = 100 modal (internal dialogs) = 200 popup (external dialogs) = 300 drag (component when dragged) = 400 Programmier-Projekt (cs108) Grafikprogrammierung

13 Special-purpose Containers: JInternalFrame Fenster ähnlich wie JFrame innerhalb eines anderen Fensters Wird in der Regel zu einem desktop pane hinzugefügt (JDesktopPane ist Subklasse von JLayeredPane) Verwendung ist ähnlich zu der von JFrame Es besitzt ein root pane Methode pack() Zur Anzeige muss setvisible(true) oder show verwendet werden Aber: JInternalFrame ist kein top level-container Er muss also zu einem anderen Container hinzugefügt werden Programmier-Projekt (cs108) Grafikprogrammierung 7-25 Regeln für die Verwendung von JInternalFrame Grösse des internal frames muss gesetzt werden Default-Wert: 0 Positionierung Default-Wert: (0,0) Um Komponenten zu einem internal frame hinzuzufügen müssen sie in das internal frame der content pane aufgenommen werden Falls internal pane nicht zu einem Container hinzugefügt wird, dann wird es auch nicht angezeigt! Verwendung von setvisible() Internal frames erzeugen internal frame events, keine window events Programmier-Projekt (cs108) Grafikprogrammierung

14 7.4 Atomare Komponenten: Übersicht Basic Controls sind atomare Komponenten, die hauptsächlich zur Entgegennahme von Benutzereingaben existieren Buttons List Combo box Menu Spinner Text field Slider Programmier-Projekt (cs108) Grafikprogrammierung 7-27 Uneditable Information Displays: Übersicht Die Uneditable Information Displays sind atomare Komponenten, die ausschliesslich eingesetzt werden, um Informationen an die Benutzer auszugeben Progress Bar Labels Tool tip Programmier-Projekt (cs108) Grafikprogrammierung

15 Interactive Displays of Highly Formatted Information Dies sind atomare Komponenten zur Ausgabe von die stark strukturierten und formatierten Informationen, die auch von den Benutzern modifiziert werden können File chooser Color chooser Text Tree Table Wir werden hier nicht auf alle Komponenten eingehen (können) dies würde schlicht den Rahmen der Vorlesung sprengen Für weitere Informationen sei auf die Java2 API-Dokumentation verwiesen Programmier-Projekt (cs108) Grafikprogrammierung 7-29 Die Klasse JComponent Basisklasse für alle Swing-Komponenten, mit Ausnahme des top level-containers Eigenschaften: Tool tips: settooltiptext() Bietet den Nutzern der Komponente eine Unterstützung an Zeichnung und Ränder setborder() zeichnet Rahmen um die Komponente Um innerhalb einer Komponente zu zeichnen muss die paintcomponent() Methode überschrieben werden Pluggable look & feel Unterstützung des Layouts setpreferredsize() setminimumsize(), setmaximumsize() setalignmentx(), setalignmenty() Programmier-Projekt (cs108) Grafikprogrammierung

16 7.5 Layout Manager In den allermeisten Fällen kann man sich nicht (oder möchte sich nicht) explizit um die Positionierung und Grösse von Komponenten kümmern Beispiele: Vergrössern/Verkleinern eines Fensters, Wechsel der Sprache, Programmier-Projekt (cs108) Grafikprogrammierung 7-31 Was sind Layout Manager? Ein Layout-Manager implementiert das LayoutManager-Interface Er bestimmt die Grösse und Positionierung von Komponenten in einem Container Komponenten können Grösse und Hinweise für die Ausrichtung bekannt geben Aber: die endgültige Entscheidung über Grösse und Position von Komponenten in einem Container liegt beim Layout-Manager des Containers Programmier-Projekt (cs108) Grafikprogrammierung

17 Layout-Manager und Container Default Layout-Managers JFrame, JDialog, und JApplet besitzen BorderLayout JPanel besitzt FlowLayout (falls nicht als Content Pane verwendet dann mit BorderLayout) Der Layout-Manager eines Containers wird wie folgt gesetzt: JFrame frame = new JFrame(); frame.setlayout(new FlowLayout()); JPanel contentpane = new JPanel(); contentpane.setlayout(new BorderLayout()); Programmier-Projekt (cs108) Grafikprogrammierung 7-33 Verwendung der Layout-Manager Layout-Manager werden automatisch angewandt wenn Container ihr Aussehen ändern wollen Die folgenden Methoden sind die Folge dieser Anwendung, die jedoch NICHT das neue Layout erzeugen add(), remove(), removeall() getalignmentx(), getalignmenty() getpreferredsize(), getminimumsize(), getmaximumsize() Folgende Methoden führen dazu, dass der Manager das Layout erzeugt JFrame.pack() Führt dazu, dass die Grösse des Fensters ermittelt wird gemäss den bevorzugten Grössen und Anordnungen der Komponenten JFrame.show() und JFrame.setVisible(true) zeigen die Komponente an JComponent.revalidate() Programmier-Projekt (cs108) Grafikprogrammierung

18 Layout-Manager: BorderLayout Definiert fünf Bereiche LINE_START, CENTER, LINE_END, PAGE_START, PAGE_END In älteren Versionen: WEST, CENTER, EAST, Nicht alle Bereiche müssen verwendet werden Center wird so gross gemacht wie möglich Platzierung kann als Argument der add-methode angegeben werden pane.setlayout(new BorderLayout()); pane.add(component, BorderLayout.PAGE_START); Programmier-Projekt (cs108) Grafikprogrammierung 7-35 Layout-Manager: BoxLayout Ordnet Komponenten in einer Zeile oder Spalte an Richtung ist wählbar Grösse der Komponenten: Berücksichtigen Max, Min und bevorzugte Grösse der Komponenten Ausrichtung Wenn nicht alle Komponenten dieselbe Höhe/Breite besitzen Angabe von Left, Center oder Right (Top, Middle, Bottom) Programmier-Projekt (cs108) Grafikprogrammierung

19 Layout-Manager: FlowLayout Einfache Anordnung (Default bei JPanel) Komponenten in Zeile angeordnet Neue Zeile falls Container nicht ausreichend breit ist Komponenten werden in bevorzugter Grösse dargestellt Falls der Container breiter ist: Default-Ausrichtung ist zentriert FlowLayout.LEADING, FlowLayout.CENTER, FlowLayout.TRAILING Zwischenräume zwischen Komponenten können spezifiziert werden Default: 5 Angabe im Konstruktor oder in setter-methoden Programmier-Projekt (cs108) Grafikprogrammierung 7-37 Layout-Manager: GridLayout Gitterzellen, die alle dieselbe Grösse besitzen Komponenten werden in einer kompletten Zelle platziert Zwischenräume Default = 5 Verwendung von setter-methoden (sethgap(), setvgap()) Bzw. den Konstruktor Zellen werden angepasst um so gross wie möglich zu sein (im vorgegebenen Fenster) Programmier-Projekt (cs108) Grafikprogrammierung

20 Layout-Manager: GridBagLayout Sehr flexibel (aber auch kompliziert) Zeilen können unterschiedliche Höhen besitzen Spalten können unterschiedliche Längen besitzen Verwendet Zellen im Grid GridBagLayout gridbag = new GridBagLayout(); GridBagConstraints c = new GridBagConstraints(); Jpanel pane = new Jpanel(); pane.setlayout(gridbag); // For each component to be added to this container //... Create component... //... Set instance variables in // the GridBagConstraints instance... gridbag.setconstraints(thecomponent, c); pane.add(thecomponent); Programmier-Projekt (cs108) Grafikprogrammierung 7-39 Layout-Manager: GridBagLayout Constraints Setzen eines gridbagconstraints-objekts gridx, gridy Zeile und Spalte der oberen linken Ecke der Komponente anchor wo soll die Ausgabe hinkommen innerhalb der Zelle wenn die Komponente kleiner ist fill wie kann die Grösse verändert werden falls die Zelle grösser ist als die Komponenen insets minimaler Abstand zwischen Komponente und Kanten der Zelle ipadx, ipady (internal padding) was soll zur minimalen Grösse der Komponenten hinzugefügt werden weightx, weighty wie wird der zusätzliche Platz verteilt gridwidth, gridheight Anzahl der Spalten oder Zeilen, die von der Komponente verwendet werden Programmier-Projekt (cs108) Grafikprogrammierung

21 Layout-Manager: GridBagLayout JButton button; pane.setlayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.HORIZONTAL; button = new JButton("Button 1"); c.weightx = 0.5; c.gridx = 0; c.gridy = 0; pane.add(button, c); button = new JButton("Button 2"); c.gridx = 1; c.gridy = 0; pane.add(button, c); button = new JButton("Button 3"); c.gridx = 2; c.gridy = 0; pane.add(button, c); button = new JButton("Long-Named Button 4"); c.ipady = 40; //make this component tall c.weightx = 0.0; c.gridwidth = 3; c.gridx = 0; c.gridy = 1; pane.add(button, c);... Beispiel (Fortsetzung)... button = new JButton("5"); c.ipady = 0; //reset to default c.weighty = 1.0; //request any extra vertical space c.anchor = GridBagConstraints.PAGE_END; //bottom of space c.insets = new Insets(10,0,0,0); //top padding c.gridx = 1; //aligned with button 2 c.gridwidth = 2; //2 columns wide c.gridy = 2; //third row pane.add(button, c); Programmier-Projekt (cs108) Grafikprogrammierung 7-41 Layout-Manager: CardLayout Verwaltet Objekte (normalerweise Jpanels) in Mengen Arbeitet etwa wie ein tabbed pane Programmier-Projekt (cs108) Grafikprogrammierung

22 Einen Layout-Manager auswählen Anzeige einer Komponente innerhalb einer so grossen Fläche wie möglich BorderLayout Komponente im Zentrum GridBagLayout fill = GridBagConstraints.BOTH BoxLayout Komponente spezifiziert hohe Werte für bevorzugte / maximale Grösse Anzeige einiger Komponenten in einer Zeile Default FlowLayout von Jpanel BoxLayout Anzeige einiger Komponenten derselben Grösse in Zeilen und Spalten GridLayout Programmier-Projekt (cs108) Grafikprogrammierung 7-43 Einen Layout-Manager auswählen Anzeige einiger Komponenten in einer Zeile oder Spalte mit unterschiedlichen Abständen und individuellen Komponentengrössen BoxLayout Anzeige eines komplexen Layouts mit vielen Komponenten GridBagLayout Gruppierung der Komponenten in JPanels um das Layout zu vereinfachen. Jedes JPanel kann einen unterschiedlichen Layout-Manager verwenden Programmier-Projekt (cs108) Grafikprogrammierung

23 Ohne Layout-Manager (absolute Positionierung) Dies sollte unbedingt vermieden werden, ausser: Komponentengrösse wird nicht durch die Containergrösse oder Font beeinflusst Container führt Berechnungen zu Grösse und Positionierung durch, die speziell für diesen Container ausgerichtet sind und die evtl. auch den Zustand des Containers berücksichtigen (z.b. split panes) Programmier-Projekt (cs108) Grafikprogrammierung 7-45 Ohne Layout-Manager (absolute Positionierung) pane.setlayout(null); JButton b1 = new JButton("one"); JButton b2 = new JButton("two"); JButton b3 = new JButton("three"); Beispiel pane.add(b1); pane.add(b2); pane.add(b3); Insets insets = pane.getinsets(); Dimension size = b1.getpreferredsize(); b1.setbounds(25 + insets.left, 5 + insets.top, size.width, size.height); size = b2.getpreferredsize(); b2.setbounds(55 + insets.left, 40 + insets.top, size.width, size.height); size = b3.getpreferredsize(); b3.setbounds(150 + insets.left, 15 + insets.top, size.width + 50, size.height + 20);...//In the main method: Insets insets = frame.getinsets(); frame.setsize(300 + insets.left + insets.right, insets.top + insets.bottom); Programmier-Projekt (cs108) Grafikprogrammierung

24 Darstellung eines Frames im Full Screen-Modus Es gibt mehrere Möglichkeiten, ein Frame in maximaler Grösse darzustellen (Full Screen-Modus) OS-abhängig z.b. Verwendung von java.awt.toolkit import java.awt.toolkit; public class FullScreen { JFrame frame; public FullScreen() { frame = new JFrame("FullScreen");... Toolkit tk = Toolkit.getDefaultToolkit(); int xsize = ((int) tk.getscreensize().getwidth()); int ysize = ((int) tk.getscreensize().getheight()); }... frame.pack(); frame.setsize(xsize,ysize); frame.setvisible(true); Programmier-Projekt (cs108) Grafikprogrammierung 7-47 Literatur Creating a GUI with JFC/Swing (The Swing Tutorial) Beispiele und Abbildungen dieses Kapitels stammen grösstenteils aus diesem Tutorial Grundlagen von JFC/Swing I & II Effective Layout Management: Kurzübersicht shortcourse.html Programmier-Projekt (cs108) Grafikprogrammierung

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

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

Techniken der Projektentwicklung

Techniken der Projektentwicklung Einleitung Architektur Swing Beispiele Aufgabe Techniken der Projektentwicklung Swing Concepts Ingo Lütkebohle Termin 11 Ingo Lütkebohle Techniken der Projektentwicklung 1 Einleitung Architektur Swing

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

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

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

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

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

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

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

GroupLayout Anmerkung

GroupLayout Anmerkung Swing Layouts Layoutmanager Ordnen Elemente eines Containers nach einem bestimmten Verfahren an Der Container erfragt bei jeder Neudarstellung bei seinem Layoutmanager, wie die Komponenten des Containers

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

11. GUI-Programmierung mit SWING Überblick

11. GUI-Programmierung mit SWING Überblick 11. GUI-Programmierung mit SWING Überblick 11.1 Einführung 11.2 Einfache Swing Komponenten 11.3 Ereignisbehandlung und Adapterklassen 11.4 Zeichnen 11.5 Dialoge 11.6 Layout Manager 11.7 Komplexere Swing

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

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

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

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

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

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

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

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

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

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

JList JTable Layout-Manager GridBagLayout. Programmieren II. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011

JList JTable Layout-Manager GridBagLayout. Programmieren II. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011 Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 JList 2 JTable 3 Layout-Manager 4 GridBagLayout Die Klasse JList Die Klasse JList stellt einen Container für Auswahllisten

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

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

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

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

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

Programmieren II. Die Klasse JList. Vorlesung 5. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester JList.

Programmieren II. Die Klasse JList. Vorlesung 5. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester JList. Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 37 JList JTable Layout-Manager GridBagLayout 2 / 37 Die Klasse JList Die Klasse JList stellt einen Container für Auswahllisten

Mehr

3. GLIEDERUNG. Aufgabe:

3. GLIEDERUNG. Aufgabe: 3. GLIEDERUNG Aufgabe: In der Praxis ist es für einen Ausdruck, der nicht alle Detaildaten enthält, häufig notwendig, Zeilen oder Spalten einer Tabelle auszublenden. Auch eine übersichtlichere Darstellung

Mehr

Architekturbeschreibung Koala Editor

Architekturbeschreibung Koala Editor Architekturbeschreibung Koala Editor Package: de.hsos.koala Enthält die Main Klasse. Klasse: Main Wird beim Start des Programms ausgeführt und öffnet ein neues Editor-Fenster. Package: de.hsos.koala.actions

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

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

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

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

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

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

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

Programmieren II. Menü-Klassen in Java. Menüs. Menüs. Action. Dr. Klaus Höppner. GridBagLayout. Hochschule Darmstadt SS 2008

Programmieren II. Menü-Klassen in Java. Menüs. Menüs. Action. Dr. Klaus Höppner. GridBagLayout. Hochschule Darmstadt SS 2008 Programmieren II Menüs Dr. Klaus Höppner Action Hochschule Darmstadt SS 2008 GridBagLayout 1 / 30 2 / 30 Menüs Menü-Klassen in Java In Fenstern von grafischen Anwendungen kennt man folgende Arten von Menüs:

Mehr

GUIs in Java und ihre Programmierung

GUIs in Java und ihre Programmierung GUIs in Java und ihre Programmierung Einführung GUI = Graphical User Interface graphische Benutzerschnittstelle Java Tutorial java.sun.com/docs/books/tutorial/index.html Java Documentation (in Version

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

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

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

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

Excel Pivot-Tabellen 2010 effektiv

Excel Pivot-Tabellen 2010 effektiv 7.2 Berechnete Felder Falls in der Datenquelle die Zahlen nicht in der Form vorliegen wie Sie diese benötigen, können Sie die gewünschten Ergebnisse mit Formeln berechnen. Dazu erzeugen Sie ein berechnetes

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

Argelander Institut für Astronomie. Persönliche Website

Argelander Institut für Astronomie. Persönliche Website Argelander Institut für Astronomie Persönliche Website Zunächst loggt man sich auf www.astro.uni-bonn.de/typo3 mit seinem AIfA Zugang ein. Nach erfolgreichem Login befindet man sich im Backend des TYPO3

Mehr

Bauteilattribute als Sachdaten anzeigen

Bauteilattribute als Sachdaten anzeigen Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...

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

Schulung Marketing Engine Thema : Einrichtung der App

Schulung Marketing Engine Thema : Einrichtung der App Schulung Marketing Engine Thema : Einrichtung der App Videoanleitung : http://www.edge-cdn.net/video_885168?playerskin=48100 Marketing Engine Tool : App Paket : Basis / Premium Version 1.0-09.07.2015 1

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

Menüs Action GridBagLayout. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 31

Menüs Action GridBagLayout. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 31 Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 31 Menüs Action GridBagLayout 2 / 31 Menüs In Fenstern von grafischen Anwendungen kennt man folgende Arten von Menüs: Menüleisten

Mehr

Anleitung zur Nutzung der OFML Daten von Cascando in pcon.planner

Anleitung zur Nutzung der OFML Daten von Cascando in pcon.planner Anleitung zur Nutzung der OFML Daten von Cascando in pcon.planner In dieser Anleitung wird die Nutzung von OFML-Daten von Cascando in pcon.planner Schritt für Schritt erläutert. 1. Cascando Produkte in

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

Mehr

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung

Mehr

Informationen zu den regionalen Startseiten

Informationen zu den regionalen Startseiten Informationen zu den regionalen Startseiten Inhaltsverzeichnis Informationen zu den regionalen Startseiten 1 1. Grundlegende Regeln 2 1.1. Was wird angezeigt? 2 1.2. Generelle Anzeigeregeln 2 2. Anpassbare

Mehr

Fachhochschule Fulda Fachbereich Angewandte Informatik. Hausarbeit Seminar: Java3D. Java Layout-Manager WS 2002/2003

Fachhochschule Fulda Fachbereich Angewandte Informatik. Hausarbeit Seminar: Java3D. Java Layout-Manager WS 2002/2003 Fachhochschule Fulda Fachbereich Angewandte Informatik Hausarbeit Seminar: Java3D Java Layout-Manager WS 2002/2003 Verfasser: m.dziadek@gmx.de Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung...

Mehr

MPDS4 EXAMPLE DATENBANK

MPDS4 EXAMPLE DATENBANK MPDS4 EXAMPLE DATENBANK Erste Schritte In diesem Tutorial lernen Sie, wie Sie MPDS4 starten und wie Sie eine Fabrikanlage auf dem Bildschirm anzeigen und mittig ausrichten können. Voraussetzungen Windows

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

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

1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software

1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software 1. Software installieren 2. Software starten Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software 3. Auswahl 1. Neues Fotobuch erstellen oder 2. ein erstelltes, gespeichertes Fotobuch laden und bearbeiten.

Mehr

Applets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog.

Applets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog. Johann Wolfgang Goethe-Universität Professur für Graphische Datenverarbeitung Fachbereich Informatik und Mathematik Prof. Dr. Detlef Krömker Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung

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

SWT. -The Standard Widget Toolkit- Inhaltsverzeichnis. Thomas Wilhelm SWT. 1. Was ist SWT?

SWT. -The Standard Widget Toolkit- Inhaltsverzeichnis. Thomas Wilhelm SWT. 1. Was ist SWT? Java -The Standard Widget Toolkit- Inhaltsverzeichnis 1. Was ist? - Vorteile von - Nachteile von 2. Vorbereitungen für 3. Das erste Programm in 4. Widgets und Styleparameter 5. - Layouts Was ist ein Widget?

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

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

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

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

Sommersemester Implementierung III: GUI und Verhalten (Teil 2)

Sommersemester Implementierung III: GUI und Verhalten (Teil 2) Sommersemester 2003 Implementierung III: GUI und Verhalten (Teil 2) 26 Aufgabe 5 Implementierung III: GUI und Verhalten (Teil 2) Umfang: 1 Woche Punkte: 50 P. Als Nächstes soll die Implementierung des

Mehr

Schulung Marketing Engine Thema : Einrichtung der App

Schulung Marketing Engine Thema : Einrichtung der App Schulung Marketing Engine Thema : Einrichtung der App Videoanleitung : http://www.edge-cdn.net/video_885168?playerskin=48100 Marketing Engine Tool : App Paket : Basis / Premium Version 2.0-03.11.2015 1

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

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

Word 2010 Grafiken exakt positionieren

Word 2010 Grafiken exakt positionieren WO.009, Version 1.2 10.11.2014 Kurzanleitung Word 2010 Grafiken exakt positionieren Wenn Sie eine Grafik in ein Word-Dokument einfügen, wird sie in die Textebene gesetzt, sie verhält sich also wie ein

Mehr

J.1. J.1 GUI-Programmierung in in Java. 2002 Prof. Dr. Rainer Manthey Informatik II 1

J.1. J.1 GUI-Programmierung in in Java. 2002 Prof. Dr. Rainer Manthey Informatik II 1 GUI-Programmierung in Java GUI-Programmierung in 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

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

Ho Ngoc Duc IFIS - Universität zu Lübeck

Ho Ngoc Duc IFIS - Universität zu Lübeck Ho Ngoc Duc IFIS - Universität zu Lübeck 30.04.2003 SWING ist die Java Klassenbibliothek zur Entwicklung grafischer Oberflächen. Im Gegensatz zum AWT (Abstract Windowing Toolkit) nutzt SWING leichtgewichtete

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5

Mehr

Hilfe zur Dokumentenverwaltung

Hilfe zur Dokumentenverwaltung Hilfe zur Dokumentenverwaltung Die Dokumentenverwaltung von Coffee-CRM ist sehr mächtig und umfangreich, aber keine Angst die Bedienung ist kinderleicht. Im Gegensatz zur Foto Galeria können Dokumente

Mehr

Oracle Forms. Aufbau und Bestandteile von Formularen. Erstellen eines neuen Blocks. Starten von Oracle Forms

Oracle Forms. Aufbau und Bestandteile von Formularen. Erstellen eines neuen Blocks. Starten von Oracle Forms Oracle Forms Oracle Forms ist eine Applikation für den Entwurf und die Erstellung Forms-basierender Anwendungen. Diese Forms umfassen Dateneingabe-Formulare Datenabfrage-Formulare Browser-Formulare Oracle

Mehr

Graphische Oberflächen Teil 1

Graphische Oberflächen Teil 1 Graphische Oberflächen Teil 1 AWT und Swing Grundlegender Aufbau von GUIs Graphikausgabe Layoutmanagement Ereignismodell Menus und Actions GUI Elemente Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer

Mehr

Erweiterungen Gantry Framework -

Erweiterungen Gantry Framework - Gantry Framework Gantry Framework ist eine Art Tabelle (Grid), in der man in den Zellen die jeweiligen Beiträge und sonstigen Bereiche positionieren kann. Gantry Framework downloaden Über Google nach Gantry

Mehr

Kalenderfunktion in Open-Xchange richtig nutzen (PC-Support)

Kalenderfunktion in Open-Xchange richtig nutzen (PC-Support) funktion in Open-Xchange richtig nutzen (PC-Support) 1.) Bei Open-Xchange mit der RUMMS-Kennung einloggen unter http://ox.uni-mannheim.de 2.) Links oben im Menü den aufrufen: 3.) In der Mitte oben bei

Mehr

Java Design und Event Handling. Natascha Hoebel Professur Prof. R. V. Zicari. AWT SWING Layout Design Event Handling

Java Design und Event Handling. Natascha Hoebel Professur Prof. R. V. Zicari. AWT SWING Layout Design Event Handling Java Design und Event Handling Natascha Hoebel Professur Prof. R. V. Zicari AWT SWING Layout Design Event Handling Benutzerschnittstellen User Interfaces (UI) UI: GUI, WEB-Schnittstellen GUI: interaktive

Mehr

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X SwissMacMeeting #1 26. Juni 2004 Messeturm Basel http://mac.naepflin.com Was ist das Ziel dieses Kurses? Starthilfe Einblick in die Möglichkeiten,

Mehr

Quartalsabrechnung! " " " " " " " Stufe 1! Beheben von Abrechnungsfehlern" Stufe 2! Neue Abrechnung erstellen"

Quartalsabrechnung!        Stufe 1! Beheben von Abrechnungsfehlern Stufe 2! Neue Abrechnung erstellen tomedo Quartalsabrechnung Seite 1 von 10 Wie erstelle ich die Quartalsabrechnung! Stufe 1! Beheben von Abrechnungsfehlern Stufe 2! Neue Abrechnung erstellen in tomedo? Unser Video-Tutorial finden sie unter

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

Version 1.0 Merkblätter

Version 1.0 Merkblätter Version 1.0 Merkblätter Die wichtigsten CMS Prozesse zusammengefasst. Das Content Management System für Ihren Erfolg. Tabellen im Contrexx CMS einfügen Merkblatt I Tabellen dienen dazu, Texte oder Bilder

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 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

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

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten

1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten 1. Einschränkung für Mac-User ohne Office 365 Mac-User ohne Office 365 müssen die Dateien herunterladen; sie können die Dateien nicht direkt öffnen und bearbeiten. Wenn die Datei heruntergeladen wurde,

Mehr

OutLook 2003 Konfiguration

OutLook 2003 Konfiguration OutLook 2003 Konfiguration Version: V0.1 Datum: 16.10.06 Ablage: ftp://ftp.clinch.ch/doku/outlook2003.pdf Autor: Manuel Magnin Änderungen: 16.10.06 MM.. Inhaltsverzeichnis: 1. OutLook 2003 Konfiguration

Mehr

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

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

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