Anonyme Instanz von JXImageView erstellen und mit Bild initialisieren

Groeg

Mitglied
Hallo Leute!

Ich habe folgendes Problem: Ich möchte eine ArrayList mit dem Generic <Pflanze> mittels einer for-each-Schleife durchgehen und für jedes Objekt "Pflanze" eine anonyme Instanz von JXImageView (aus dem SwingX-Paket) erstellen und mit einem Image aus "Pflanze" belegen. Zur Info: "Pflanze" ist eine Klasse, die als Attribute einen botanischen und einen deutschen Namen besitzt und vier Bilder der Klasse "Image".
Ich habe jetzt schon etwas dortstehen und zwar:

Java:
for(Pflanze currentPflanze : currentArray) {
			
		view.add(new JXImageView().setImage(currentPflanze.getRandomImage()));}

Funktioniert natürlich noch nicht :(
Meine Frage ist: Wie erstelle ich eine anonyme Instanz von JXImageView und wie rufe ich die .add-Methode der erstellten Instanz auf?

Vielen Dank für eure Hilfe!

Georg
 

tommysenf

Top Contributor
Java Code:
Java:
for(Pflanze currentPflanze : currentArray) {
  view.add(new JXImageView(){
    {
      setImage(currentPflanze.getRandomImage())
    }
  });
}
 
Zuletzt bearbeitet von einem Moderator:

Flown

Administrator
Mitarbeiter
Vorsicht mit Initializer, denn sie sind in Wirklichkeit anonyme abgeleitete Klassen.

Warum nicht einfach:
Java:
for(Pflanze currentPflanze : currentArray) {
  JXImageView iv = new JXImageview();
  iv.setImage(currentPflanze.getRandomImage());
  view.add(iv);
}
 

Groeg

Mitglied
Danke für eure Hilfe tommysenf und Flown!

Kann ich denn mehrere Instanzen mit dem gleichen Namen erzeugen?
 
Zuletzt bearbeitet:

Flown

Administrator
Mitarbeiter
Was meinst du konkret mit mehrere Instanzen mit dem selben Namen?

Meinst du iv mit selben Namen?
Java:
JXImageView iv = new JXImageview();

Also iv ist nur eine Variable die eine Instanz von JXImageView hält, und jedes mal mit dem new-Operator wird der Variable eine neue Instanz zugewiesen.
 

Flown

Administrator
Mitarbeiter
Ähm ich kann sagen, dass du dir Grundlagen ansehen sollst.

"iv" ist nur eine Art Container, damit du mit der Instanz arbeiten kannst. Bei der for-each-Schleife, wird jedes mal eine neue Instanz erzeugt und vorübergehend in "iv" gehalten. Die Variable hält also nur eine Referenz auf das tatsächliche Objekt. Also macht es genau das, was du wolltest.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Stream API, Anonyme Klasse AWT, Swing, JavaFX & SWT 8
Blender3D einzelner ActionListener vs anonyme ActionListener AWT, Swing, JavaFX & SWT 10
B SWT Anonyme Eventlistener wegräumen? AWT, Swing, JavaFX & SWT 4
J Anonyme Klasse - Button ansprechen - Warum muss Button final sein? AWT, Swing, JavaFX & SWT 4
S SWT Konstruktor anonyme Klasse AWT, Swing, JavaFX & SWT 10
O Variablen an anonyme Funktion AWT, Swing, JavaFX & SWT 10
B abstrakte klassen / anonyme klassen AWT, Swing, JavaFX & SWT 4
G Listener (anonyme Klasse) jedem Element eines Array zuweisen AWT, Swing, JavaFX & SWT 5
A Vektor in Anonyme Klasse übergeben AWT, Swing, JavaFX & SWT 2
H Instanz von FXMLDocumentController erlangen AWT, Swing, JavaFX & SWT 9
KrokoDiehl JavaFX Gleiche Controller-Instanz für inludiertes FXML AWT, Swing, JavaFX & SWT 1
R Eine Instanz von JPanel mehrfach hinzufügen AWT, Swing, JavaFX & SWT 2
R Instanz einer Subklsse von JPanel wird nicht angezeigt. AWT, Swing, JavaFX & SWT 15
xehpuk Swing NullPointerException: Random-Instanz anfangs nicht initialisiert AWT, Swing, JavaFX & SWT 4
B Swing JPanel in Abhängigkeit von DefaultListModel Instanz neu zeichnen AWT, Swing, JavaFX & SWT 3
B Instanz einer abstrakten Klasse AWT, Swing, JavaFX & SWT 3
D Zugriff auf Instanz der GUI AWT, Swing, JavaFX & SWT 3
J Swing Eine(und zwar ein und die selbe) WindowListener Instanz für alle JFrames AWT, Swing, JavaFX & SWT 8
S initialnamen einer swing instanz zur laufzeit ändern AWT, Swing, JavaFX & SWT 5
raptorrs Swing MouseListener reagiert nicht auf Instanz einer JTable AWT, Swing, JavaFX & SWT 6
K Instanz von JEditorPane starten AWT, Swing, JavaFX & SWT 3
T statische Variable zum Referenzieren einer Instanz von Frame AWT, Swing, JavaFX & SWT 3
W Instanz eines Steuerelementes an zwei Stellen zeichnen AWT, Swing, JavaFX & SWT 3
K Bild in neuer InternetExplorer - Instanz öffnen AWT, Swing, JavaFX & SWT 3
M sicherstellen, dass nur eine Instanz läuft. AWT, Swing, JavaFX & SWT 6
S In Instanz von JTextArea schreiben AWT, Swing, JavaFX & SWT 4
S int-berechnung des RGB-Wertes ohne neue Instanz? AWT, Swing, JavaFX & SWT 9
H JFileChooser und Class Instanz AWT, Swing, JavaFX & SWT 2
H Neue Instanz einer Klasse bei JButton-Klick AWT, Swing, JavaFX & SWT 5
M Es bleibt immer noch eine Javaw instanz zurück AWT, Swing, JavaFX & SWT 3
G Swing NullPointerException und JXImageView AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben