Fragen zur graphischen Programmierung (Swing)
Fragen zur graphischen Programmierung (Swing) javafrage Sun, 03/19/2017 - 17:50- 2647 views
1 Swing Layoutmanager
1 Swing LayoutmanagerBestimmen Sie den oder die Layoutmanager für Swingbenutzeroberflächen abhängig von der Position und der Größe der gezeigten Komponenten. Gehen Sie davon aus, dass das Fenster mit dem JPanel in der Wunschgröße gezeigt wird.
Beispiel:
a.)LayoutManager : FlowLayoutManager
Hinweis: Sie benötigen eventuell Hilfspanels mit eigenem Layoutmanager
Die Antwort finden Sie auf der nächsten Seite (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 7 Minuten |
- 5303 views
Fragestellung
Kann es sein, dass bei der Frage die genaue Fragestellung fehlt?
- Log in to post comments
2 Relatives Layoutmanagement versus absolutes Layoutmanagement
2 Relatives Layoutmanagement versus absolutes LayoutmanagementWarum ist in den meisten Fällen die Verwendung von Layoutmanagern bei der Entwicklung von graphischen Benutzeroberflächen sinnvoller als ein Pixel-genaues Layout aller Komponenten?
Die Antwort finden Sie auf der nächsten Seite (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 3 Minuten |
Antwort zu Frage 1: Swing LayoutManager
a.) LayoutManager: Flow oder Box
b.) LayoutManager: Box; Alle Elemente haben gleiche Höhe, C hat eigene Breite die Boxbreite bestimmt.
c.) LayoutManager: Borderlayout ohne Centerelement
d.) Layoutmanager: Gridlayoutmanager
e.) LayoutManager äussereres JPanel: Borderlayout mit A und B in eigenem Layoutmanager im Norden
- Hilfspanel um A+B: Layoutmanager des Hilfspanel: Flow, Grid, Border oder Box
- 4710 views
3 Welcher Layoutmanager wird hier benutzt?
3 Welcher Layoutmanager wird hier benutzt?Das Applet weiter unten kann 6 JFrames starten. Jedes JFrame benutzt ein JPanel. Welcher Layoutmanager wird im jeweiligen Frame verwendet?
Manche Layoutmanager benötigen Direktiven bei der Erzeugung des Layoutmanager. Welche Direktiven wurden hier verwendet?
Manche Komponenten benötigen Direktiven für den Layoutmanager beim Hinzufügen in das JPanel?
Laden Sie die Datei Layout.jar auf Ihren Rechner. Starten Sie sie mit dem Befehl:
java -jar Layout.jar
Ein Doppelklick auf der heruntergeladenen Datei reicht vielleicht auch.
Die 6 JFrames verwenden jeweils nur einen Layoutmanager.
Hinweis: Links von diesem Text sollte automatisch ein Applet mit 6 Knöpfen gestartet werden. Beim Drücken eines Knopf wird jeweils ein Fenster mit einem JFrame erzeugt. Es taucht am linken oberen Bildschirmrand auf.
Tipp: Vergrößern und verkleinern Sie die Fenster. Man kann bei manchen Fenstern erst erkennen welcher Layoutmanager verwendet wird wenn die einzelnen Komponenten nicht ihre Wunschgröße erhalten
Antwort zu Frage 2: Relatives Layoutmanagement versus absolutes Layoutmanagement
Graphische Oberflächen müssen auf unterschiedlich großen Bildschirmen angezeigt werden können.
Komponenten haben eventuell auf Grund des Betriebssystems unterschiedliche Größen.
GUIs werden vom Benutzer eventuell in der Form geändert.
Bei all diesen Gegebenheiten ist ein automatisches Anlegen eines neuen Layout von Vorteil.
- 5394 views
Applet fehlt
Hier fehlt wohl das Applet.
Da Applets von den meisten Browsern nicht mehr unterstützt werden, sollte die Frage wohl rausgenommen oder umformuliert werden.
LG:)
- Log in to post comments
Entschuldigung
Die Zeiten der Applets sind vorbei.
Ich habe den Text angepasst. Man muss sich die jar Datei individuell herunterladen.
- Log in to post comments
4 Swing: Layoutmanager für drei Komponenten
4 Swing: Layoutmanager für drei KomponentenWelche Layoutmanager können auf Wunsch drei Komponenten horizontal oder auch vertikal anzeigen?
Gehen Sie davon aus, dass der LayoutManager die Komponenten mindestens in ihrer Wunschgröße darstellen kann.
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 3 Minuten |
Antwort zu Frage 3: Layoutmanager
|
Der Quellcode des Applets
package Kurs2.Swing;import java.awt.BorderLayout;import java.awt.Container;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class LayoutTest extends JApplet implements ActionListener {JButton[] b;static final int BUTTONS = 6;public LayoutTest() {b = new JButton[BUTTONS+1];JPanel jp = new JPanel();jp.setLayout( new BoxLayout(jp,BoxLayout.Y_AXIS));for (int i=1; i<= BUTTONS; i++) {b[i] = new JButton("Layoutmanager " + i );jp.add(b[i]);b[i].addActionListener(this);}Container myPane = getContentPane();myPane.add(jp);}public static void main(String[] args) {layout1();layout2();layout3();layout4();layout5();layout6();}public static void layout1() {JFrame f ;JPanel jp;f= new JFrame("Layout 1");jp = new JPanel();jp.setLayout(new FlowLayout());jp.add(new JButton("A"),BorderLayout.NORTH);jp.add(new JButton("B"),BorderLayout.WEST);jp.add(new JButton("CCCCCCCC"),BorderLayout.CENTER);JTextArea jta =new JTextArea(2,10);jta.append("JTextArea \nrow 2\nrow 3");jp.add(jta,BorderLayout.SOUTH);jp.add(new JButton("D"));f.add(jp);f.pack();f.setVisible(true);}public static void layout2() {JFrame f ;JPanel jp;f= new JFrame("Layout 2");jp = new JPanel();jp.setLayout( new BoxLayout(jp,BoxLayout.Y_AXIS));
jp.add(new JButton("A"));jp.add(new JButton("B"));jp.add(new JButton("CCCCCCCC"));JTextArea jta =new JTextArea(2,10);jta.append("JTextArea \nrow 2\nrow 3");jp.add(jta);jp.add(new JButton("D"));
f.add(jp);f.pack();f.setVisible(true);}
public static void layout3() {JFrame f ;JPanel jp;f= new JFrame("Layout 3");jp = new JPanel();jp.setLayout( new GridLayout(2,3));
jp.add(new JButton("A"));jp.add(new JButton("B"));jp.add(new JButton("CCCCCCCC"));JTextArea jta =new JTextArea(2,10);jta.append("JTextArea \nrow 2\nrow 3");jp.add(jta);jp.add(new JButton("D"),BorderLayout.CENTER);
f.add(jp);f.pack();f.setVisible(true);}public static void layout4() {JFrame f ;JPanel jp;f= new JFrame("Layout 4");jp = new JPanel();jp.setLayout( new BorderLayout());
jp.add(new JButton("A"),BorderLayout.NORTH);jp.add(new JButton("B"),BorderLayout.WEST);jp.add(new JButton("CCCCCCCC"),BorderLayout.CENTER);JTextArea jta =new JTextArea(2,10);jta.append("JTextArea \nrow 2\nrow 3");jp.add(jta,BorderLayout.EAST);jp.add(new JButton("D"),BorderLayout.SOUTH);
f.add(jp);f.pack();f.setVisible(true);}
public static void layout5() {JFrame f ;JPanel jp;f= new JFrame("Layout 5");jp = new JPanel();jp.setLayout( new BoxLayout(jp,BoxLayout.X_AXIS));jp.add(new JButton("A"));jp.add(new JButton("B"));jp.add(new JButton("CCCCCCCC"));JTextArea jta =new JTextArea(2,10);jta.append("JTextArea \nrow 2\nrow 3");jp.add(jta);jp.add(new JButton("D"));f.add(jp);f.pack();f.setVisible(true);}public static void layout6() {JFrame f ;JPanel jp;f= new JFrame("Layout 6");
jp = new JPanel();jp.setLayout( new BorderLayout());
jp.add(new JButton("A"),BorderLayout.NORTH);jp.add(new JButton("CCCCCCCC"),BorderLayout.CENTER);JTextArea jta =new JTextArea(2,10);jta.append("JTextArea \nrow 2\nrow 3");jp.add(jta,BorderLayout.EAST);jp.add(new JButton("D"),BorderLayout.SOUTH);
f.add(jp);f.pack();f.setVisible(true);}@Overridepublic void actionPerformed(ActionEvent e) {
Object source = e.getSource();if (source == b[1]) layout1();if (source == b[2]) layout2();if (source == b[3]) layout3();if (source == b[4]) layout4();if (source == b[5]) layout5();if (source == b[6]) layout6();}}
- 4236 views
5 Flowlayout-Manager versus Boxlayout-Manager
5 Flowlayout-Manager versus Boxlayout-ManagerDer Flowlayout-Manager und der Boxlayout-Manager sind sich ähnlich. Der Flowlayout-Manager ist nicht immer eine gute Wahl.
Nennen Sie 3 Fälle in denen man den Boxlayout-Manager verwenden sollte.
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 3 Minuten |
Antwort zu Frage 4: Swing, Layoutmanager für drei Komponenten
- Boxlayout-Manager
- Gridlayout-Manager
- Borderlayout-Manager
- 4469 views
Antwort zu Frage 4
In Frage 4 auf der vorherigen Seite heißt es: "Gehen Sie davon aus, dass der LayoutManager die Komponenten in ihrer Wunschgröße darstellen kann."
Im Skript steht, dass der Gridlayout-Manager eine einheitliche Größe für alle Zellen hat. Wieso ist er als Antwort hier trotzdem richtig?
- Log in to post comments
Gut überlegt
Habe in die Frage "mindestens" eingefügt. Jetzt ist es hoffentlich korrekt.
- Log in to post comments
6 Swing, vertikale Anordnung von Komponenten
6 Swing, vertikale Anordnung von KomponentenSie sollen 5 unterschiedliche Komponenten vertikal anordnen. Alle Komponenten sollen die gleiche Fläche einnehmen. Welchen Layoutmanager wählen Sie?
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 1 Minute |
Antwort zu Frage 5: Swing, Flowlayout-Manager versus Boxlayout-Manager
- Komponenten behalten minimal Wunschgröße und nutzen weitere Fläche wenn möglich
- Es gibt nie einen Umbruch in eine zweite Zeile
- Man kann ein vertikales Layout erzwingen
Tipp: Mit Lösungsapplet zu Frage 2.25 spielen.
- 4141 views
7 Swing, Implementieren einer Adapterklasse
7 Swing, Implementieren einer AdapterklasseIn der folgenden Klasse wird für das JLabel text1 eine innere Klasse MyMouseListener implementiert die auf 2 Ereignisse mit Konsolenausgaben reagiert:
- Maus kommt über Komponente
- Maus verlässt die Komponente
Hierzu wird die Schnittstelle MouseListener implementiert.
Aufgabe:
- Implementieren Sie eine gleichwertige innere Klasse MyMouseAdapter für das JLabel text2.
- Spezialisieren Sie hierzu die abstrakte Klasse Swingklasse MouseAdapter die MouseListener implemeniert
- Die neue Klasse soll die gleichen Ereignisse gleich behandeln(Kopieren Sie den Methodenrumpf)
package Kurs2.K2012; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JLabel; public class ListenerToAdapter { public class MyMouseListener implements MouseListener { public void mouseClicked(MouseEvent e) {} public void mouseExited(MouseEvent e) { System.out.println("raus");} public void mouseEntered(MouseEvent e) { System.out.println("rein");} public void mousePressed(MouseEvent e) {} public void mouseReleased(MouseEvent e){} } public class MyMouseAdapter // Ab hier implementieren... // Ende der Implementierung } //Ende Klasse MyMouseAdapter public ListenerToAdapter() {
JLabel text1 = new JLabel("Label 2");
text1.addMouseListener(new MyMouseListener());
JLabel text2 = new JLabel("Label 2");
text2.addMouseListener(new MyMouseAdapter());
}
}
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 6 Minuten |
Antwort zu Frage 6: Swing, vertikale Anordnung von Komponenten
- Gridlayout-Manager
- 4265 views
8 Adapterklassen versus Schnittstellen
8 Adapterklassen versus Schnittstellen- Welche Vorteile haben die Swing-Adapterklassen im Vergleich zu den Schnittstellen die Sie implementieren?
- Wann haben die Adapterklassen im Vergleich zu den Schnittstellen keine Vorteile für den Entwickler?
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 2+2 Minuten |
Antwort zu Frage 7: Swing, Implementieren einer Adapterklasse
In der folgenden Klasse wird für das JLabel text1 eine innere Klasse MyMouseListener implementiert die auf 2 Ereignisse mit Konsolenausgaben reagiert:
- Maus kommt über Komponente
- Maus verlässt die Komponente
Hierzu wird die Schnittstelle MouseListener implementiert.
Aufgabe:
- Implementieren Sie eine gleichwertige innere Klasse MyMouseAdapter für das JLabel text2.
- Spezialisieren Sie hierzu die abstrakte Klasse Swingklasse MouseAdapter die MouseListener implemeniert
- Die neue Klasse soll die gleichen Ereignisse gleich behandeln(Kopieren Sie den Methodenrumpf)
package Kurs2.K2012; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JLabel; public class ListenerToAdapter { public class MyMouseListener implements MouseListener { public void mouseClicked(MouseEvent e) {} public void mouseExited(MouseEvent e) { System.out.println("raus");} public void mouseEntered(MouseEvent e) { System.out.println("rein");} public void mousePressed(MouseEvent e) {} public void mouseReleased(MouseEvent e){} } public class MyMouseAdapter extends MouseAdapter // Ab hier implementieren... public void mouseExited(MouseEvent e)
{ System.out.println("raus");}
public void mouseEntered(MouseEvent e)
{ System.out.println("rein");} // Ende der Implementierung } //Ende Klasse MyMouseAdapter public ListenerToAdapter() {
JLabel text1 = new JLabel("Label 2");
text1.addMouseListener(new MyMouseListener());
JLabel text2 = new JLabel("Label 2");
text2.addMouseListener(new MyMouseAdapter());
}
}
- 4915 views
public class MyMouseAdapter
Muss die Klasse MyMouseAdapter nicht von MouseAdapter erben, um die genutzten Methoden "mouseExited" und "mouseEntered" überschreiben zu können? Also: public class MyMouseAdapter extends MouseAdapter { ... } .
- Log in to post comments
9 Innere und anonyme Klassen
9 Innere und anonyme KlassenWelchen Vorteil haben innere und anonyme Klassen in der Swing GUI Programmierung?
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 2 Minuten |
Antwort zu Frage 8: Swing, Implementieren einer Adapterklasse
- Welche Vorteile haben die Swing-Adapterklassen im Vergleich zu den Schnittstellen die Sie implementieren?
- Man muss nur die gewünschten Methoden durch überschreiben implementieren.
Nicht benötigte Methoden können als leere Methoden geerbt werden. Bei einer Schnittstelle muss man alle Methoden implementieren. Auch die nicht benötigten.
- Man muss nur die gewünschten Methoden durch überschreiben implementieren.
- Wann haben die Adapterklassen im Vergleich zu den Schnittstellen keine Vorteile für den Entwickler?
- Wenn man alle Methoden der Klasse sowieso implementieren muss. Wenn man von einer anderen Klasse erben möchte
- Wenn man alle Methoden der Klasse sowieso implementieren muss. Wenn man von einer anderen Klasse erben möchte
- 4347 views
10 Implementieren einer Listenerklasse
10 Implementieren einer ListenerklasseImplementieren Sie eine Listenerklasse zum Behandeln von Mausklicks.
Benutzen Klassen aus dem Java API um diese Aufgabe zu lösen.
Siehe Diagramm:
Implementieren Sie die Klasse MeinMausListener. Die Klasse soll auf die Ereignisse MousePressed und MouseReleased reagieren.
Welche Klasse bzw. Schnittstelle wählen Sie um den Implementierungsaufwand minimal zu halten?
Wählen Sie den besten Methodenkopf (ankreuzen):.
-
public class MeinMausListener extends MouseMotionListener
-
public class MeinMausListener implements MouseMotionListener
-
public class MeinMausListener extends MouseListener
-
public class MeinMausListener implements MouseListener
-
public class MeinMausListener extends MouseAdapter
-
public class MeinMausListener implements MouseAdapter
-
public class MeinMausListener extends EventListener
-
public class MeinMausListener implements EventListener
Welche andere Option ist die nächstbeste, aber suboptimal?
Warum ist diese Option suboptimal?
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 2+2+2 Minuten |
Antwort zu Frage 9: Innere und anonyme Klassen
Man kann sie direkt in der Klasse implementieren die sie exklusiv benötigen.
Dadurch benötigt man weniger Klassen.
Man belegt den Namensraum des Pakets nicht unnötig mit Klassennamen.
Man kann auf die Variablen und Methoden der umgebenden Klasse/Objekt zugreifen.
- 4998 views
Fehlt nach der "divide:
Fehlt nach der "divide: geschafft" nicht "divide: after"? Bei der 2.54 steht es noch.
- Log in to post comments
Nein, leider nicht
Sie haben haben sich das sehr genaue angeschaut. Gute Sache!
Durch das Werfen (Kommando throw) der IllegalArgumentException wird die Methode divide() abgebrochen da diese Ausnahme nicht in der Methode gefangen wird. "Divide after" wird nicht mehr erreicht.
Das Hinterhältige diese Aufgabe besteht darin, dass die Sonderregel "finally Blöcke werden immer ausgeführt" zum tragen kommt.
"divide: geschafft" wird also noch ausgeführt obwohl das Laufzeitsystem auf dem schnellsten Weg die Methode divide() verlassen möchte.
Ihre Frage hat eine gute Detaildiskussion angeregt. Danke!
- Log in to post comments
Bei Antwort zu Frage 9 im
Bei Antwort zu Frage 9 im letzten Satz muss das "auch" zu einem "auf" geändert werden.
- Log in to post comments
11 Benutzung innerer Klassen
11 Benutzung innerer KlassenWarum ist die Benutzung einer inneren Klasse nützlich?
Nennen Sie mindestens zwei Gründe.
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 2 Minuten |
Antwort zu Frage 10: Implementieren einer Listenerklasse
Möglichkeiten
-
public class MeinMausListener extends MouseMotionListener
-
public class MeinMausListener implements MouseMotionListener
-
public class MeinMausListener extends MouseListener
-
public class MeinMausListener implements MouseListener
-
public class MeinMausListener extends MouseAdapter
-
public class MeinMausListener implements MouseAdapter
-
public class MeinMausListener extends EventListener
-
public class MeinMausListener implements EventListener
Lösung 5 hat den niedrigsten Implementierungsaufwand
Lösung 4 ist korrekt aber suboptimal. Man muss alle Methoden implementieren.
- 4264 views
Aufwand O (log n)?
Müsste der Aufwand der binären Suche nicht O(log n) sein?
- Log in to post comments
12 Verwendung anonymer innerer Klassen
12 Verwendung anonymer innerer KlassenIn welchem Fall bietet sich die Verwendung einer anonymen, inneren Klasse an?
Geben Sie eine kurze Erklärung
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 2 Minuten |
Antwort zu Frage 11: Benutzung innerer Klassen
- Der Klassennamensraum wird nicht unnötig benutzt
- Man kann auf die lokalen Attribute des Objekts der äusseren Klasse zugreifen
- 3693 views
13 Swing: Komponenten und Container
13 Swing: Komponenten und Container- Was sind Komponenten in Swing?
- Geben Sie eine kurze Erklärung
- Was sind Container in Swing?
- Geben Sie eine kurze Erklärung und erläutern Sie die Beziehung zwischen Containern und Komponenten.
- Nennen Sie zwei Klassen die Container sind!
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 2+2+2 Minuten |
Antwort zu Frage 12: Verwendung anonymer innerer Klassen
Man kann sehr effizient Klassen implementieren, die nur eine Methode besitzen und nur an genau einer Stelle benötigt werden um eine Schnittstelle oder eine abstrakte Klasse zu implementieren.
- 3416 views
14 Layoutmanager, Komponenten, Container
14 Layoutmanager, Komponenten, ContainerIn welcher Beziehung stehen Layoutmanager zu Komponenten und Containern?
Nennen Sie drei Layoutmanager mit den denen Sie die horizontale Anordnung dreier Komponenten erzwingen können.
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 2+3 Minuten |
Antwort zu Frage 13: Swing; Komponenten und Container
- Was sind Komponenten in Swing?
- Komponenten repräsentieren Teile einer graphischen Benutzerschnittstelle mit denen der Benutzer interagieren kann.
- Was sind „Container in Swing?
- Container sind Komponenten die wieder andere Komponenten enthalten können.
- Nennen Sie zwei Klassen die Container sind
- JPanel
- JFrame
- 2917 views
15 Vorteile innerer und anonymer innerer Klassen bei der Swing Ereignisbehandlung
15 Vorteile innerer und anonymer innerer Klassen bei der Swing EreignisbehandlungNennen Sie drei Vorteile die eine innere Klasse bei der Swing-Ereignisbehandlung im Gegensatz zu einer normalen Klasse für den Entwickler hat.
Erläutern Sie die Vorteile mit jeweils einem Satz.
Wann ist es vorteilhaft eine anonyme innere Klasse in Gegensatz zu einer inneren Klasse mit Namen zu verwenden? Geben Sie eine kurze Erklärung
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 3+2 Minuten |
Antwort zu Frage 14: Layoutmanager, Komponenten, Container
In welcher Beziehung stehen Layoutmanager zu Komponenten und Containern?
- Layoutmanager erlauben die Anordnung von Komponenten in Containern zu konfigurieren.
Nennen Sie drei Layoutmanager mit den denen Sie die horizontale Anordnung dreier Komponenten erzwingen können.
- BoxLayoutmanager
- GridLayoutmanager
- BorderlayoutManager
- 3583 views
Rechtschreibfehler
Hallo,
in der Frage 15, 3 Satz sollte wohl anstelle von "Gegen" "Geben" stehen :)
- Log in to post comments
16 Beurteilung von grafischen "Heavyweight" GUI Implementierungen
16 Beurteilung von grafischen "Heavyweight" GUI ImplementierungenNennen Sie jeweils zwei Vorteile und zwei Nachteile einer grafischen „Heavyweight“ Implementierung wie AWT im Vergleich zu Swing.
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 4 Minuten |
Antwort zu Frage 15: Vorteile innerer und anonymer innerer Klassen bei der Swing Ereignisbehandlung
- Die Klassen liegen automatisch im gleichen Paket
- Es ist ein Zugriff auf die privaten Attribute der äusseren Klasse möglich
- Man belegt keine unnötigen Namen im Namensraum des Pakets der äusseren Klasse
Man nutzt eine anonyme innere Klasse wenn man genau eine Stelle im Code hat an der sie implementiert werden muss.
- 3373 views
Rechtschreibfehler
Hallo,
In der Antwort zur Frage 15, sollte wohl aus dem englischen "when" ein "wenn" werden #denglisch :)
- Log in to post comments
17 Vor- und Nachteile von grafischen Lightweight-Implementierungen
17 Vor- und Nachteile von grafischen Lightweight-ImplementierungenNennen Sie jeweils zwei Vorteile und zwei Nachteile einer grafischen „Lightweight“ Implementierung wie Swing im Vergleich zu AWT.
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 4 Minuten |
Antwort zu Frage 16: Beurteilung von grafischen "Heavyweight" GUI Implementierungen
Vorteile
- Sie nutzen optimal die Betriebssystemresourcen
- Sie behalten das Look & Feel Ihrer Plattform
- Das Betriebssystem kennt alle Resourcen und kann sie optimal koordinieren. Bsp. Ein Menü welches andere Fenster verdeckt kann vollständig angezeigt werden
Nachteile
- Die Implementierung is plattformabgängig
- Man kann keine Elemente verwenden die die Platform nicht kennt. Bsp. Windows kennt das Ereignis „Mouse over Button“ nicht.
- 3410 views
18 Reagieren auf Ereignisse einer Swing Benutzeroberfläche
18 Reagieren auf Ereignisse einer Swing Benutzeroberfläche- Nennen den englischen Begriff bzw. den Namen der Javaschnittstellen mit denen man auf Ereignisse in einer Swing-Benutzeroberfläche reagiert.
- Wie arbeiten diese Objekte mit den grafischen Objekten zusammen um Ereignisse auszuwerten? Geben Sie eine Erklärung.
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 1 + 3 Minuten |
Antwort zu Frage 17: Vor- und Nachteile von grafischen Lightweight-Implementierungen
Vorteile
- plattformunabhängig
- man kann das gewünschte Layout besser kontrollieren
Nachteile
- Plattformoptimierungen werden nicht unbedingt unterstützt. Bsp. 3D Beschleunigung
- ungewohntes „Look & Feel“ auf der Gastplattform
- 3227 views
19 Besonderheiten anonymer, innerer Klassen und deren Verwendung
19 Besonderheiten anonymer, innerer Klassen und deren VerwendungWas ist das besondere an anonymen, inneren Klassen? Wann ist die Benutzung einer anonymen inneren Klasse die beste Lösung. Nennen Sie mindestens zwei Gründe.
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 1+4 Minuten |
Antwort zu Frage 18: Reagieren auf Ereignisse einer Swing Benutzeroberfläche
Das Listenerobjekt wurde gegen das Ereignis des graphischen Objekts registriert. Das graphische Objekt ruft beim entsprechenden Ereignis das Listenerobjekt auf. Das Listerobjekt enthält die Implementierung die auf das Ereignis reagiert.
- 2661 views
20 Swing Toplevel Container
20 Swing Toplevel Container- Nennen Sie mindesten 2 Toplevel Container die man in Swing benutzt um grafische Benutzeroberflächen zu entwickeln.
- Welchen dieser Container würden Sie wählen wenn Sie eine typische Textverarbeitungsanwendung implementieren sollen? Ihre Anwendung soll mehrere Dokumente in mehreren Fenstern verwalten können
- Welche weiteren nützlichen Eigenschaften hat dieser Container für Ihre Textverarbeitungsanwendung? Nennen Sie Eine!
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2+1+1 |
Schwierigkeitsgrad | mittel |
Zeit | 2+1+1 Minuten |
Antwort zu Frage 19: Besonderheiten anonymer, innerer Klassen und deren Verwendung
Sie haben keinen expliziten Namen. Man verwendet sie wenn es genau eine Stelle im Code gibt an der man Objekte dieser Klasse erzeugen muss.
- Es gibt nur eine Stelle an der diese Klasse benötigt wird
- Man belastet den Namensraum der Klassen weniger da man keinen Namen vergeben muss
- 3402 views
Rechtschreibfehler
Frage 20, 2. Stichpunkt, 2 Satz:
1. sollte entweder das Fragezeichen weg, oder der Satz soll zu einer Frage umbenannt werden.
2. anstelle von "könne" "können"
- Log in to post comments
21 Definition Layoutmanager mit Beispiel
21 Definition Layoutmanager mit BeispielWas sind Layout-Manager in Swing? (Definition)
Sie sollen in Swing ein Schachbrett implementieren und Visualisieren. Welchen Layout-Manager wählen Sie?
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 2+1 Minuten |
Antwort zu Frage 20: Swing Toplevel Container
Nennen Sie mindesten 2 Toplevel Container die man in Swing benutzt um grafische Benutzeroberflächen zu entwickeln:
- JFrame
- JApplet
- JDialog
- JWindow
Welchen dieser Container würden Sie wählen wenn Sie eine typische Textverarbeitungsanwendung implementieren sollen. Ihre Anwendung soll mehrere Dokumente in mehreren Fenstern verwalten könne?
- JFrame
Welche weiteren nützlichen Eigenschaften hat dieser Container für Ihre Textverarbeitungsanwendung? Nennen Sie eine:
- Man kann Menüleisten konfigurieren.
Ein Layout-Manager ist ein Objekt, welches Methoden bereitstellt, um die grafische Repräsentation verschiedener Komponenten innerhalb eines Container-Objektes anzuordnen
- 3421 views
Lösung der Frage auf dieser Seite
Hallo,
die Lösung der Frage 21 ist zum Teil bereits unter der Lösung von Frage 20.
Viele Grüße
- Log in to post comments
22 Anonyme, innere Klasse implementieren
22 Anonyme, innere Klasse implementierenImplementieren Sie eine innere, anonyme Klasse in der main() Methode der Klasse Rahmen.
- Die Klasse wird aus der Klasse Test spezialisiert
- Die Methode result() wird überschrieben. Sie soll den Wert 17 zurückgeben.
- Weisen Sie das neue Objekt auf die vorgebene Referenz t zu.
public class Test { public int result() {return 3; } } // Ende Klasse Test public class Rahmen { public static void main (String[] args) { // hier implementieren: Test t = new //Ab hier implementieren } // Ende main Methode } // Ende Klasse Rahmen
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 6 Minuten |
Antwort zu Frage 21: Definition Layoutmanager mit Beispiel
Ein Layout-Manager ist ein Objekt, welches Methoden bereitstellt, um die grafische Repräsentation verschiedener Komponenten innerhalb eines Container-Objektes anzuordnen
GridLayout. Mit diesem Layout kann man ein zweidimensionales Feld von Komponenten organisieren.
Die Antwort zu Frage 22 finden Sie viel weiter unten...
Antwort zu Frage 22: Anonyme, innere Klasse implementieren
public class Test { public int result() {return 3; } } // Ende Klasse Test public class Rahmen { public static void main (String[] args) { // hier implementieren: Test t = new Test() { public int result () {return 17;} } // ende innere Klasse } // Ende main Methode } // Ende Klasse Rahmen
- 5364 views