kramann.info
© Guido Kramann

Login: Passwort:










Informatik3
1 Vom_struct_zur_Klasse
..1.1 Vom_struct_zur_Klasse
..1.2 struct_Programm
..1.3 Klassen_Programm
..1.4 Offene_Fragen
..1.5 Historie
..1.6 Objektabstraktion
..1.7 OO_Kundenverwaltung
..1.8 Objektfaehigkeiten
..1.9 Formatierung
..1.10 Motivation
..1.11 Uebung1
..1.12 Uebung2
2 UML
..2.1 Volumenberechnung
..2.2 UML_Klassendiagramm
..2.3 Konstruktor
..2.4 Statische_Variable
3 Strings
..3.1 Klassenbibliotheken
..3.2 stringUML
..3.3 Uebung3
4 Initialisierungen
4 bluej
5 Zeiger_und_Arrays
..5.1 Zeiger
..5.2 Zeiger_und_Funktion
..5.3 Uebung4
6 Vererbung
..6.1 MesswerteUML
..6.2 MesswerteProgramm
..6.3 VererbungsProgramm
..6.4 Vector
..6.5 Uebung
7 Modifikatoren
..7.1 public_Vererbung
..7.2 protected_Vererbung
8 Listen_und_Templates
..8.1 Containertypen
....8.1.1 ListeUML
....8.1.2 ListeProgramm
..8.2 Templates
....8.2.1 Listentemplate
....8.2.2 STLvectorTemplate
..8.3 Uebung5
..8.4 Uebung6
..8.5 Uebung7
9 Java
..9.1 Uebung
..9.2 GettingStarted
..9.3 Animation
..9.4 Hybrid
..9.5 Threads
10 Delegation
11 LayoutProjekt
12 Fenster
13 Uebung
14 Zwischenprojekt
..14.1 Befehle
..14.2 Planung
..14.3 JNI
..14.4 JNIumsetzen
..14.5 Anwendungsklasse
..14.6 GUI01
..14.7 GUI02
15 Rasterlayout
..15.1 Bilder_Packages
..15.2 interfaces
..15.3 ArrayList
..15.4 clone
..15.5 Uebung
16 Nuetzliches
..16.1 Threads
..16.2 Animation
..16.3 RungeKutta
..16.4 Loesungsansatz
..16.5 Internetprogrammierung
....16.5.1 Codegenerierung
....16.5.2 PHP_Programmierung
....16.5.3 PHP_OOP
....16.5.4 Java
17 Algorithmen
..17.1 RungeKutta
..17.2 Loesungsansatz
..17.3 Evoopt
..17.4 Uebung12
..17.5 Uebung8_2014
..17.6 Ausdruecke
18 Uebung10
19 UML_ALT
..19.1 Flaechenberechnung
..19.2 UML_Flaechenberechnung
..19.3 Implementierung
..19.4 ListeUML
..19.5 ListenImplementierung
..19.6 Anwendung

13 Übung zum Layout-Projekt

13 Exercise on the layout project (EN google-translate)

13 Wykonaj projekt układu (PL google-translate)

Aufgabe 1

Task 1

Zadanie 1

  • Analysieren und testen Sie folgendes Programm mit Hilfe der Java-API.
  • In ein Fenster wird hier eine Scrollfläche eingefügt (ScrollPane) und in diese ein editierbarer Textbereich.
  • Die Operation beim Schließen wird hier explizit programmiert (WindowListener), da Frame statt JFrame benutzt wird.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Rasterlayout
{
    public ScrollPane scrollpane;

    public Rasterlayout()
    {
        Frame fenster = new Frame("Rasterlayout");
        fenster.setBounds(100,200,500,400);
        fenster.addWindowListener(new FensterSchliesser(fenster));
        scrollpane = new ScrollPane(ScrollPane.SCROLLBARS_AS_NEEDED);
        scrollpane.setBackground(Color.WHITE);

        TextArea textfeld = new TextArea("huhu",80,100);
        textfeld.setEditable(true);
        scrollpane.add(textfeld);

        fenster.add(scrollpane);
        fenster.setVisible(true);
    }

    public static void main(String[] args)
    {
          Rasterlayout rasterlayout = new Rasterlayout();
    }


    private class FensterSchliesser implements WindowListener
    {
        private Frame fenster;

        public FensterSchliesser(Frame fenster)
        {
            this.fenster = fenster;
        }

        public void windowActivated(WindowEvent e) {}
        public void windowClosed(WindowEvent e) {}
        public void windowClosing(WindowEvent e) 
        {
            fenster.dispose();
            System.exit(0);
        }
        public void windowDeactivated(WindowEvent e) {}
        public void windowDeiconified(WindowEvent e) {}
        public void windowIconified(WindowEvent e) {}
        public void windowOpened(WindowEvent e) {}
       
    }

}

Code 13-1: Quellcode der Klasse Rasterlayout.

Aufgabe 2

exercise 2

Zadanie 2

  • Die Klasse Canvas bietet die Möglichkeit, grafische Elemente in eine Java-Applikation einzufügen, ähnlich wie bei Applet.
  • Analysieren Sie zunächst das besprochene Applet-Grafikbeispiel (paint-Methode in MeinApplet, Kapitel 9.2).
  • Versuchen Sie dann mit Hilfe der Java-API die Klasse TextArea durch Canvas zu ersetzen und lassen Sie testweise eine kleine Grafik darin zeichnen.

Aufgabe 3

Task 3

Zadanie 3

  • Für die Umsetzung eines Layout-Programms sollen Kupferdreierketten dargestellt werden (vergl. Mikroprozessoranwendungen, Kapitel 3 unten).
  • Erweitern Sie das bisherige nun so, dass es ein Raster wie in Bild 3-2 in Mikroprozessoranwendungen, Kapitel 3 darstellen kann.
  • Über einen neuen Konstruktor soll die Anzahl der Rasterungen vorgebbar sein.
  • Statt der Rasterpunkte soll über einen weiteren Konstruktor die Platinengröße in Millimetern vorgebbar sein.