Einige Neulingsfragen (Wrapper, GUI-Programmierung)

Rudilein

Mitglied
Guten Abend, ich habe da mal eben mehrere Neulingsfragen :)

1.)
Ganz dumm und dämlich gefragt: Was sind Wrapper-Klassen?

Laut Google:

Wrapperklassen ("Hüllklassen") dienen als Verbindungsglied zwischen den Ordinaltypen von Java (byte, short, int, long, float, double, char) und den Klassen in Java und dabei insbesondere der Klasse String. Ein Grundproblem bei der Benutzung von Oberflächen wie AWT und Swing ist, dass bei Eingaben (z.B. in ein Textfeld) immer nur Texte verwaltet werden. Diese Texte müssen in "richtige" Zahlen verwandelt werden, um mit ihnen zu rechnen, und dann wieder in Texte zurückgewandelt werden, um sie in den GUI-Komponenten wieder anzuzeigen. Für dieses Verfahren, was auch als Boxing/Unboxing bekannt ist, werden die Wrapper-Klassen gebraucht. Bis auf die Klasse <code>Character</code> stammen alle Wrapper-Klassen von <code>java.lang.Number</code> ab. Es gibt nun zu jedem ordinalen Datentyp eine Wrapperklasse

Wenn ich das nun richtig intepretiere, dient das also dazu, Variablen zu "casten"? Wo genau ist aber der Unterschied zwischen den oben genannten Wrapperklasse, und dem schlichten Codebeispiel..

Java:
int Double.parseDouble(string)

..? Und: Wie geläufig sind diese Wrapper-Klassen?

2.)
Ich bin gerade dabei, GUI-Programmierung beim lernen hinzuzuziehen. Da ich jedoch weiss, dass die Oberflächenprogrammierung immer etwas schwierig bei der Auswahl des richtigen Frameworks ist, und in mein Buch "Jigloo" vorgestellt wird, stellt sich hierbei folgende Frage: Welche Methoden oder Bibliotheken werden für die GUI-Programmierung geläufig benutzt? Welches ist gut verbreitet, womit man oft Erfolg hat, wenn man mal nicht weiterkommt und nach sein Problem googelt? Soll ich mit Jigloo anfangen, oder das Buch ab jetzt weglegen, und etwas anderes nehmen?

Sollte ich noch weitere Fragen haben, werde ich zukünftig diesen Thread nutzen. :)

mfg
 
Zuletzt bearbeitet:

JCODA

Top Contributor
Der zitierte Text spricht tatsächlich vom casten zwischen String und int/double, allerdings verstehe ich Wrapperklassen eher z.b. als "Integer" von "int" hierdurch wird es ermöglicht int-Werte als Objekte zu behandeln. Möchte man z.b. ints in eine Liste speichern so geht das nicht, aber verwendet man Integer, so klappts.


Java:
List<int> list = new ArrayList<>(); //<- klappt nicht. 
List<Integer> list = new ArrayList<>(); //<- klappt.
Bei java funktioniert das Boxing teilweise auch automatisch:
Java:
Integer i = 5; //klappt, obwohl rechts ein "int" steht. Hier wird Autoboxing verwendet.
Siehe hierzu auch: Javabeginners - Boxing und Unboxing


Für deine zweite Frage, kann ich dir für "Grafik/Spiele-Programmierung" folgendes Tutorial empfehlen: bit.ly/1HqY7D3 ansonsten für GUIs (Button/Texfield usw.) hab ich größtenteils Tutorials aus dem Internet zusammengesucht, meistens nur kleine Codebeispiele und versucht daraus zu lernen.
 
Zuletzt bearbeitet:

Saheeda

Top Contributor
Vielleicht hilft das hier auch weiter:
Rheinwerk Computing :: Java ist auch eine Insel – 9.2 Wrapper-Klassen und Autoboxing

Oben in deinem Beispiel ist "parseDouble" eine statische Methode der Wrapper-Klasse "Double".

Ich würde es auch weniger als casten bezeichnen, denn als "ummanteln" oder "verstecken", der primitive Wert existiert immer noch, nur halt innerhalb eines Wrapper-Objektes.

Zur Geläufigkeit:
Wie JCODA schon sagte, nehme ich die vor allem zum Typen von Collections/Objekten oder zum Parsen. Wenn es ansonsten nicht unbedingt notwendig ich, benutze ich die primitiven Typen, die sind in der Regel schneller und verbraten weniger Speicherplatz.


In Sachen GUIs würde ich glaube ich lieber mit JavaFX arbeiten wollen. Das Aufbauen/Gestalten von Oberflächen wirkt auf mich wesentlich klarer und intuitiver, als Swing.
 
Zuletzt bearbeitet:

Chisao

Mitglied
Mit dem Codebeispiel
Java:
    int Double.parseDouble(string)

hast du bereits eine Wrapperklasse verwendet. Die Klasse Double ist nämlich eben solche. Und wie schon gesagt dienen diese hauptsächlich dem Zweck, primitive Datentypen wie int, short, byte.... als Objekte darstellen zu können. Beispiele dazu hat dir JCODA bereits genannt.

Zur GUI Programmierung:
Naja man kann nicht sagen: "DAS ist das Gottesframework für GUIs!". Man wird immer wieder für die jeweiligen Probleme ein anderes Framework benötigen. Willst du ein Spiel programmieren beispielsweise solltest du auf Spielebasierte Frameworks setzen (Für gewöhnlich beinhalten Frameworks nämlich nicht nur Graphische Hilfsmittel sondern viele Klassen, Methoden und Objekte die dir für das jeweilige Programm helfen). Grob gesagt ist die Gängigste art eine Grafikoberfläche zu erstellen Swing. Ist einfach die unkomplexeste und vollständig in Java intigrierte Oberfläche. Wenn ich beispielsweise nix großes vor habe(Kleinere Tests oder Programme für Privatgebrauch) nutze ich fast immer Swing. Eben weil es ziemlich simpel ist^^

PS: Swing ist die Javaeigene Bibliothek für Grafik. Bevor ich das vergesse zu erwähnen xD
 
Zuletzt bearbeitet:

Rudilein

Mitglied
Hallo,

ich denke, ich verstehe das mit dem Wrapper und mit dem Beispiel, dank vor allem JCODA.
Werde ich mir nochmal genauer anschauen.

Zur GUI-Geschichte:
Wenn ich es also richtig betrachte, gibt es also nicht "die" Methode? In C++ hatte ich damals Qt als Framework für die GUI-Programmierung. Mir geht es also somit nur für Tools, die auch gerne größer sein können und werden, in der alle denkbare Funktionen (um irgendein Beispiel zu nennen: Netzwerküberwachung: TCP/UDP-Verbindung-Auflistung), oder jegliche simple Funktionen wie Dokument einlesen, anzeigen, Drucken, exportieren im anderen Dateiformat etc.) hinzugenommen werden können ohne Umschweife. Über Spieleprogrammierung war nicht die Rede. :) Wäre also Swing/Jigloo eine "gute" Wahl? Oder doch JavaFX? Oder etwas anderes? Wenn ich von der Frage "welches ist geläufiger?" absehe.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
MoxMorris Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam Java Basics - Anfänger-Themen 2
J Einige Anfängerfragen (Datentypen, Wertebereich) Java Basics - Anfänger-Themen 11
A Shopping Cart Programm. Verstehe einige Zusammenhänge nicht Java Basics - Anfänger-Themen 1
C Einige Anfängerfragen (Return-Wert, Exception...) Java Basics - Anfänger-Themen 11
J Einige Anfängerfragen Java Basics - Anfänger-Themen 3
S Erste Schritte Einige Anfängerfragen Java Basics - Anfänger-Themen 5
C Einige Fragen zu Frames Java Basics - Anfänger-Themen 7
M Vererbung Methode nur für einige Klassen? Java Basics - Anfänger-Themen 8
S Einige Grundlegende Begriffe Java Basics - Anfänger-Themen 6
P Hilfe bei MultiThreading; Einige Fragen. Java Basics - Anfänger-Themen 14
M JPanel - einige Fragen und Probleme Java Basics - Anfänger-Themen 6
V Java Fenster, einige Probleme und Fragen Java Basics - Anfänger-Themen 5
A RS232 und Microcontroller - einige Fragen Java Basics - Anfänger-Themen 7
G Java Verstaendnis ? und einige Fragen Java Basics - Anfänger-Themen 4
Q Bilderdownload per ftp.einige Bilder defekt Java Basics - Anfänger-Themen 4
D Einige Fragen zu Java Java2D JDBC usw. XD Java Basics - Anfänger-Themen 13
T Listen | und einige Methoden für Listen Java Basics - Anfänger-Themen 11
S einige Fragen: jTextPanel scrollen Java Basics - Anfänger-Themen 2
S Einige Javafragen eines Neulings Java Basics - Anfänger-Themen 10
K Wie werden einige Methoden aufgerufen ? Java Basics - Anfänger-Themen 4
1 Einige Anfängerfragen Java Basics - Anfänger-Themen 12
A Einige Fragen zu Files Java Basics - Anfänger-Themen 2
123456789sssssaaaa Java Wrapper Class Java Basics - Anfänger-Themen 13
O Wrapper Klassen Java Basics - Anfänger-Themen 6
S Erste Schritte Funktionsaufruf mit Wrapper Java Basics - Anfänger-Themen 4
3 ArrayList Integer Wrapper Klasse als Ersatz für normale Arrays Java Basics - Anfänger-Themen 10
S Wrapper Klasse und extends Java Basics - Anfänger-Themen 2
M Wann eine Wrapper Klasse verwenden und wann einen primitiven Datentypen? Java Basics - Anfänger-Themen 8
B guter Jar-Wrapper Java Basics - Anfänger-Themen 13
L OOP Wrapper Klassen - Stack-Aufgabe Java Basics - Anfänger-Themen 2
F OOP Wrapper ermöglicht Zugriff für andere Packages? Java Basics - Anfänger-Themen 6
M wrapper dll Java Basics - Anfänger-Themen 3
J Java.Util.Properties wrapper class (Review Request) Java Basics - Anfänger-Themen 2
U Wrapper-klassen Java Basics - Anfänger-Themen 9
S Methode die Wrapper Klasse fuer einen primitiven Typ zurueck Java Basics - Anfänger-Themen 11
T Wrapper-Klassen Java Basics - Anfänger-Themen 5
N Was ist eine Wrapper Klasse ? Java Basics - Anfänger-Themen 2
S Wrapper-Pattern Beispiel Java Basics - Anfänger-Themen 2
G Frage zur Objekt-Wrapper Float ? Java Basics - Anfänger-Themen 6
A Wrapper-Klassen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben