Date: Fri, 10 Nov 2023 15:11:48 +0100
Subject: add new repo
---
.../hjp5/html/k100178.html | 470 +++++++++++++++++++++
1 file changed, 470 insertions(+)
create mode 100644 Master/Reference Architectures and Patterns/hjp5/html/k100178.html
(limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100178.html')
diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100178.html b/Master/Reference Architectures and Patterns/hjp5/html/k100178.html
new file mode 100644
index 0000000..15eaed0
--- /dev/null
+++ b/Master/Reference Architectures and Patterns/hjp5/html/k100178.html
@@ -0,0 +1,470 @@
+
+
+
+Handbuch der Java-Programmierung, 5. Auflage
+
+
+
+
+
+
+
+
+
+
+
+
+27.5 Fensterelemente
+
+
+
+
+
+Neben den visuellen Eigenschaften eines Fensters gibt es noch eine
+Reihe weiterer Elemente, die einem Fenster zugeordnet werden können.
+Hierzu zählen die Titelleiste,
+das Menü, ein Icon,
+ein Mauscursor, eine bestimmte Vorder-
+und Hintergrundfarbe
+und ein Standard-Font zur Ausgabe von
+Schriften. Bis auf die Definition und die Zuordnung von Menüs,
+die in Kapitel 30 erläutert
+werden, soll der Umgang mit diesen Fensterelementen in den folgenden
+Unterabschnitten erklärt werden.
+
+
+
+
+
+
+
+Die Titelleiste eines Fensters läßt sich in den Klassen
+Frame
+und Dialog
+mit Hilfe der Methode setTitle
+verändern:
+
+
+
+
+
+
+public void setTitle(String title)
+
+public String getTitle()
+
+
+ |
+
+java.awt.Frame |
+
+
+
+
+Ein Aufruf dieser Methode ändert die Beschriftung der Titelleiste
+in den als String
+übergebenen Parameter title.
+Mit der Methode getTitle
+kann die Titelleiste abgefragt werden.
+
+
+
+
+
27.5.2 Das Icon des Fensters
+
+
+Wenn ein Fenster unter Windows minimiert wird, zeigt es ein Icon an.
+Mit einem Doppelklick auf das Icon kann die ursprüngliche Größe
+des Fensters wiederhergestellt werden. Mit Hilfe der Methode setIconImage
+der Klasse Frame
+kann dem Fenster ein Icon zugeordnet werden, das beim Minimieren angezeigt
+wird:
+
+
+
+
+
+
+public void setIconImage(Image image)
+
+
+ |
+
+java.awt.Frame |
+
+
+
+
+Beim Design des Icons steht man nun vor dem Konflikt, entscheiden
+zu müssen, in welcher Größe das Icon entworfen werden
+soll. Ein Windows-Programm hat meist ein Haupticon in der Größe
+32*32 Pixel und ein kleineres Icon mit 16*16 Pixeln. Beide werden
+an unterschiedlichen Stellen im Programm benötigt. Das JDK ist
+glücklicherweise in der Lage, die übergebenen Images so
+zu skalieren, dass sie die jeweils benötigte Größe
+annehmen. Die Ergebnisse sind im Falle des großen Icons durchaus
+brauchbar (so hat z.B. das in Abbildung 27.3
+gezeigte und in Listing 27.4
+verwendete Icon eine Originalgröße von 60*56 Pixeln), im
+Falle des kleinen Icons sind die Ergebnisse in Prä-1.2-JDKs jedoch
+nicht so befriedigend. Hier scheint die Skalierungsroutine lediglich
+ein schwarz-weißes Ergebnis zu erzeugen.
+
+
+
+
+
+
+Abbildung 27.3: Das Beispiel-Icon
+
+
+
+
+
+
+
+
+
+Zur Darstellung des Mauscursors bietet die Klasse Component
+eine Methode setCursor,
+mit der ein Cursor-Objekt
+vorgegeben werden kann:
+
+
+
+
+
+
+Die Klasse Cursor
+besitzt einen Konstruktor, der als einziges Argument eine ganzzahlige
+Konstante erwartet, mit der der gewünschte Cursor aus der Liste
+der vordefinierten Cursortypen ausgewählt werden kann. Tabelle 27.1
+gibt eine Auswahl der verfügbaren Cursortypen an.
+
+
+
+
+
+
+Tabelle 27.1: Konstanten zur Cursorauswahl
+
+
+
+
+27.5.4 Die Vorder- und Hintergrundfarbe
+
+
+Die Hintergrundfarbe eines Fensters wird vor dem Aufruf von paint
+verwendet, um den Hintergrund des Fensters zu löschen. Das Löschen
+kann man sich so vorstellen, dass ein gefülltes Rechteck in der
+Größe der Client-Area in der aktuellen Hintergrundfarbe
+gezeichnet wird. Die Vordergrundfarbe dient zur Ausgabe von Grafik-
+und Textobjekten, wenn im Grafik-Kontext keine andere Farbe gesetzt
+wird. Wird die Einstellung nicht geändert, werden in beiden Fällen
+die unter Windows eingestellten Standardfarben verwendet. Mit Hilfe
+der Methoden setForeground
+und setBackground
+der Klasse Component
+können Vorder- und Hintergrundfarbe eines Fensters geändert
+werden:
+
+
+
+
+
+
+public void setBackground(Color c)
+
+public void setForeground(Color c)
+
+
+ |
+
+java.awt.Component |
+
+
+
+
+
+
+27.5.5 Der Standard-Font
+
+
+Ein Fenster hat einen Standard-Font, der zur Ausgabe von Schrift verwendet
+wird, wenn nicht im Grafik-Kontext ein anderer Font ausgewählt
+wird. Die Verwendung eines Standard-Fonts macht Sinn, wenn nur ein
+Font verwendet werden soll, um Text darzustellen. Dadurch ergeben
+sich Laufzeitvorteile gegenüber der separaten Auswahl eines Fonts
+bei jedem Aufruf von paint.
+Der Standard-Font eines Fensters wird mit der Methode setFont
+der Klasse Component
+eingestellt:
+
+
+
+
+Das folgende Beispielprogramm erzeugt ein Fenster mit einer Titelleiste,
+gesetzter Vorder- und Hintergrundfarbe und der Eieruhr als Cursor.
+Zusätzlich besitzt das Programm das in Abbildung 27.3
+gezeigte Icon, das beim Minimieren des Programms und in der Taskleiste
+angezeigt wird.
+
+
+
+
+
+
+
+
+001 /* Listing2704.java */
+002
+003 import java.awt.*;
+004 import java.awt.event.*;
+005
+006 public class Listing2704
+007 extends Frame
+008 {
+009 public static void main(String[] args)
+010 {
+011 Listing2704 wnd = new Listing2704();
+012 wnd.setSize(300,200);
+013 wnd.setLocation(50,50);
+014 wnd.setVisible(true);
+015 }
+016
+017 public Listing2704()
+018 {
+019 super("");
+020 assignTitle();
+021 assignIcon();
+022 assignCursor();
+023 assignColors();
+024 assignFont();
+025 addWindowListener(new WindowClosingAdapter(true));
+026 }
+027
+028 private void assignTitle()
+029 {
+030 setTitle("Veränderte Fensterelemente");
+031 }
+032
+033 private void assignIcon()
+034 {
+035 Image img = getToolkit().getImage("testicon.gif");
+036 MediaTracker mt = new MediaTracker(this);
+037
+038 mt.addImage(img, 0);
+039 try {
+040 //Warten, bis das Image vollständig geladen ist,
+041 mt.waitForAll();
+042 } catch (InterruptedException e) {
+043 //nothing
+044 }
+045 setIconImage(img);
+046 }
+047
+048 private void assignCursor()
+049 {
+050 setCursor(new Cursor(Cursor.WAIT_CURSOR));
+051 }
+052
+053 private void assignColors()
+054 {
+055 setForeground(Color.white);
+056 setBackground(Color.black);
+057 }
+058
+059 private void assignFont()
+060 {
+061 setFont(new Font("Serif", Font.PLAIN, 28));
+062 }
+063
+064 public void paint(Graphics g)
+065 {
+066 g.drawString("Test in Vordergrundfarbe",10,70);
+067 }
+068 }
+
+ |
+
+Listing2704.java |
+
+
+
+Listing 27.4: Ein Programm mit veränderten Fensterelementen