HasMap mit JComponents mit instanceof

daWonderer

Aktives Mitglied
Hallo,

folgendes Bsp.:

Java:
HashMap<String, JComponent> map = new HashMap<String, JComponent>;

map.put( "label", new JLabel("test") );
map.put( "button", new JButton("test") );

JComponent element = map.get( "label" );
if( element instanceof JLabel ) System.out.println( "label ist ein JLabel" );

element = map.get( "button" );
if( element instanceof JButton ) System.out.println( "button ist ein JButton" );

Die beiden Ausgaben erfolgen korrekt. Super, dass das funktioniert dachte ich mir gerade.

Element ist als JComponent instanziert, aber doch gibt instanceof etwas anderes zurück.

Wieso eigentlich? Was passiert hier intern bei Java? // verwirrt schauend....

Danke schon mal
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
Wieso eigentlich? Was passiert hier intern bei Java? // verwirrt schauend....

Mhmm..also du erstellst ja konkrete JLabel und JButton - Objekte... du schränkst sie zwar mit JComponent ein, dennoch sinds ja letztendlich konkrete Objekte die du durch new jLabel, new jButton erstellt hast.

Java:
Object a = new String("hallo welt");
System.out.println(a instanceof String);

vllt hilft ja: Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 6.9 Typen in Hierarchien
(Was wissen Compiler und Laufzeitumgebung über unser Programm?)
 
Zuletzt bearbeitet:
S

SlaterB

Gast
ein JLabel bleibt immer ein JLabel, kann aber in einer JComponent-Variablen abgelegt werden

so wie man einen Mercedes auch einfach als 'Auto' oder noch allgemeiner 'Gegenstand' bezeichnen kann
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Grundlegende Verständnisfrage Hasmap Referenzen Java Basics - Anfänger-Themen 4
I Hasmap aufüllen Java Basics - Anfänger-Themen 10
J paint-methode blockiert settings von JComponents Java Basics - Anfänger-Themen 5
NeoLexx Abfrage mit instanceof führt zu unerwarteten Wert Java Basics - Anfänger-Themen 9
C Warum funktioniert 'instanceof' bei generics nicht? Java Basics - Anfänger-Themen 4
S Gibt es eine Funktion, die gewissermaßen eine Reihe von instanceOf() vereinheitlicht? Java Basics - Anfänger-Themen 19
J instanceof Operator Java Basics - Anfänger-Themen 3
G instanceof in Generic Java Basics - Anfänger-Themen 7
A instanceof-if-else-Anweisungen eleganter lösen Java Basics - Anfänger-Themen 5
B instanceof Java Basics - Anfänger-Themen 9
L Best Practise - 'instanceof' oder nicht. Java Basics - Anfänger-Themen 7
Luk10 instanceof Class<T> Java Basics - Anfänger-Themen 6
I if (listenObjekt instanceof meinObjekt.class) Java Basics - Anfänger-Themen 5
A ArrayList-iteration mit Prüfung auf instanceof durch switch case? Java Basics - Anfänger-Themen 13
K Polymorphie und instanceOf Operator Java Basics - Anfänger-Themen 6
M Compiler-Fehler instanceof compiler-error Java Basics - Anfänger-Themen 2
A Alternative instanceof Java Basics - Anfänger-Themen 3
0 Vererbung - instanceof Java Basics - Anfänger-Themen 20
J this instanceof Class<Object> Java Basics - Anfänger-Themen 1
K Equals,Instanceof und "==" Java Basics - Anfänger-Themen 7
A Datentypen instanceof VS Class - Vergleich Java Basics - Anfänger-Themen 4
S Bessere Lösung zu häufigem instanceof Java Basics - Anfänger-Themen 25
A Besser als instanceof Java Basics - Anfänger-Themen 6
E instanceof vs class==class Java Basics - Anfänger-Themen 5
B instanceof Prüfung für generische Typen Java Basics - Anfänger-Themen 5
S instanceof Comparable...geht nicht? Java Basics - Anfänger-Themen 20
K instanceof Java Basics - Anfänger-Themen 22
A Vereinfachung instanceof Java Basics - Anfänger-Themen 12
G Mit "instanceof" sich selbst Fragen? Java Basics - Anfänger-Themen 4
S Instanceof umkehren Java Basics - Anfänger-Themen 2
E Negative Abfrage auf instanceof Java Basics - Anfänger-Themen 3
D if (event.target instanceof TextField) Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben