List in java.lang.Object... einfügen

Timmorn

Mitglied
Hallo,

das übersteigt im Moment meine Java Kenntnisse und ich weiß auch nicht recht wo nachlesen (wäre auch um Tipp dankbar wo man so etwas lesen kann):

Ich muss folgende Methode aufrufen:

Code:
public void run(Operation pOperation,
                java.lang.Object... images)

Ansich kein Problem, aber ich habe eine variable Menge an images. Diese befinden sich in einer List (ArrayList).

Wie schaffe ich es nun die Elemente dieser List zu übergeben?

Code:
run(Operation pOperation, ArrayList);

funktioniert natürlich nicht. Eine Methode zum übergeben einzelner Bilder (dann könnte ich es mit einer Schleife machen) gibt es leider auch nicht: ImageCommand (The im4java Library)

Danke
Wolfi
 

eRaaaa

Top Contributor
Eine Methode zum übergeben einzelner Bilder (dann könnte ich es mit einer Schleife machen) gibt es leider auch nicht

Naja, genau genommen könnte man der Methode schon nur ein einzelnes Bild übergeben, würde also funktionieren. Du könntest aber auch auf deiner liste toArray() aufrufen und eben dann das Array übergeben!
 

Timmorn

Mitglied
Vielleicht habe ich noch etwas vergessen, aber ich bin nun gleich weit wie zuvor. Ich habe nach deiner Anleitung

Code:
BufferedImage[] imageArray = (BufferedImage[]) imageListBuffered.toArray(new BufferedImage[0]);

die Liste in ein Array umgewandelt. Nun ist es aber genau wie zuvor:

Code:
cmd.run(op, imageArray[0],imageArray[1]);

funktioniert, aber wie übergebe ich alle Array Elemente unabhängig von der Anzahl an die Methode?
 

Timmorn

Mitglied
Nein, das habe ich versucht und haut in meinem Fall einfach nicht hin. Vermutlich muss ich es genauer beschreiben. Ich übergebe nämlich an letzter Stelle noch einmal einen String. Also so in der Art funktioniert es:

Code:
BufferedImage[] imageArray = (BufferedImage[]) imageListBuffered.toArray(new BufferedImage[0]);
String imageName = "Bild.jpg";
cmd.run(op, imageArray[0],imageArray[1], imageName);

Dieser Code:

Code:
BufferedImage[] imageArray = (BufferedImage[]) imageListBuffered.toArray(new BufferedImage[0]);
String imageName = "Bild.jpg";
cmd.run(op, imageArray, imageName);

wirft hingegen den Fehler:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: [Ljava.awt.image.BufferedImage; is an unsupported image-type

aus.

Ich weiß überhaupt nicht, wie ich das Problem angehen soll :( Würde es vielleicht helfen imageName auch noch hinten an das Array zu hängen? Aber da habe ich Probleme, weil das Array ja schon voll ist.

Danke für die Hilfe!

Danke für die Hilfe.
 
G

gman

Gast
Hi,

wieso hängst du auf einmal noch einen String hinten dran? Die Methode aus deinem ersten Post verlangt
doch nur "images", also das Array. Dafür hat eRaaa dir ja die Lösung gezeigt.
 

Illuvatar

Top Contributor
Tja wenn du von Anfang an gesagt hättest was du machen willst, hätte man dir auch gleich helfen können... ???:L
Spricht was dagegen, dass du am Anfang
Java:
imageListBuffered.add(imageName)
machst und danach weiter so wie eRaaaa gesagt hat?
 

Timmorn

Mitglied
Ich hänge einen String ran, weil ich es so machen muss. Die Buffered Images sind die Bilder, die von ImageMagick umgewandelt werden müssen und der String ist dann der Dateiname in den die Bilder geschrieben werden.

Spricht was dagegen, dass du am Anfang
Java:
imageListBuffered.add(imageName)
machst und danach weiter so wie eRaaaa gesagt hat?

Ich glaube schon, weil eben imageName ein String ist und die anderen BufferedImage. Oder geht das doch irgendwie?

Ich bekomme so langsam das Gefühl, dass es zwar möglich ist Buffered Images zu übergeben, aber die Klasse nicht wirklich dafür geschrieben wurde. Zu aller Not müsste ich halt die Buffered Images erst auf die Platte schreiben und dann kann ich diese auch als String (eben der Pfad zu den Bildern) übergeben.

Danke für eure Hilfe.
 

Antoras

Top Contributor
Spricht was dagegen ein Objekt zu benutzen?
Java:
class ImageContainer {
  List<BufferedImage> list; // Beinhaltet alle Bilder
  String fileName; // Der Name der Datei
  List<BufferedImage> getImages() { return list; }
}

Dann kannst du einfach das Objekt übergeben:
Java:
void method(ImageContainer ic) {
  for (BufferedImage bi : ic.getImages()) {...}
}
 
G

Gelöschtes Mitglied 5909

Gast
Antoras: das geht nicht weil es um einen Method Call einer Library geht.

Timmorn:
Java:
List<Object> objects = new ArrayList<Object>();
objects.add(BufferedImage); // deine bilder (nicht als array!)
objects.add("Foo.jpg");
 

Illuvatar

Top Contributor
Ich würd sagen, du solltest am besten erstmal nachschaun was für Objekte diese Klasse denn da haben will. Wenn es BufferedImages sein müssen, dann musst du das eine Bild wohl noch einlesen und in deine Liste speichern. Wenn es Dateinamen sein müssen, wirst du nich drum rumkommen die BufferedImages zu speichern (oder eine andere Lib zu verwenden). Wenn beides geht, siehe raiL. Wenns ganz anders is... nochmal schreiben ;)
 
G

gman

Gast
Hi,

ich habe mir die API nochmal angeschaut und ich glaube du kannst den Namen der Dateien über
das Operation-Objekt übergeben. Das hat die Methode:

Code:
addImage

public Operation addImage(java.lang.String... pImages)
    
    Add image(s) to the operation.

oder einzeln:

Code:
addImage

public Operation addImage()

    Add an image-placeholder to an Operation.

Wichtig scheint mir dabei das "placeholder" zu sein, die Doc von ImageCommand.run() sagt ja:

images - Zero or more images (replace placeholders in pOperation)

Dann musst du natürlich darauf achten das die Reihenfolge der Namen mit denen der Bilder übereinstimmt. Aber ich denke das sollte dir erstmal weiterhelfen.
 

Timmorn

Mitglied
Ja, ich habe es nun so geschafft: Ich habe die Datei, die ich per String übergeben muss (@Illuvatar: wie erklärt kann ich es nicht einlesen, da es nicht existiert. Der String ist nur für den künftigen Dateinamen) an den Platzhalter übergeben und dann konnte ich die BufferedImages einfach per Array übergeben.

Danke für eure Tipps!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Java List, Bitte um Hilfe Java Basics - Anfänger-Themen 15
J Java List, bitte um Hilfe Java Basics - Anfänger-Themen 3
X Array List geordnet ausgeben. (JSF und JAVA) Java Basics - Anfänger-Themen 1
Kenan89 Java Date List Java Basics - Anfänger-Themen 4
B Java Array List größe auslesen zur Suchfunktion Java Basics - Anfänger-Themen 5
K Java Linked List Java Basics - Anfänger-Themen 11
G Leere java.util.List erzeugen Java Basics - Anfänger-Themen 2
S java.awt.List --> removeItemListener? Java Basics - Anfänger-Themen 2
S java.awt.List vs. java.util.List Java Basics - Anfänger-Themen 2
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
J Array.list vergleichen Java Basics - Anfänger-Themen 1
B Vektor vs List Java Basics - Anfänger-Themen 4
volcanos Addition -> List<Integer> mit Arrays.asList() versus List<Integer>ArrayList<>() Java Basics - Anfänger-Themen 14
H Interface Wieso "List<String> list = new ArrayList<>[…]" Java Basics - Anfänger-Themen 4
T Linked List set-Methode Java Basics - Anfänger-Themen 2
volcanos List & ArrayList nach Familiennamen abfragen Java Basics - Anfänger-Themen 57
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
L Datentypen Array List Java Basics - Anfänger-Themen 9
F GSON file mit einer List erstellen Java Basics - Anfänger-Themen 2
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
O Collections.sort und List.sort mit Lambda Verwirrung Java Basics - Anfänger-Themen 5
J String Array zu Map<Character, List<Character>> mit Streams Java Basics - Anfänger-Themen 1
G Linked list, Methode zum Vertauschen von Elementen Java Basics - Anfänger-Themen 14
I csv auslesen, mittels List Java Basics - Anfänger-Themen 18
C Collections List über Interface zugreifen Java Basics - Anfänger-Themen 32
I Methoden List.contains() beim 2. Element = true Java Basics - Anfänger-Themen 1
N HashMap in List good practice? Java Basics - Anfänger-Themen 2
B SWAP List; Liste neu anordnen Java Basics - Anfänger-Themen 4
W Stream Array List - Frage Java Basics - Anfänger-Themen 5
E Interface List nicht als Collection an erkannt. Java Basics - Anfänger-Themen 14
D new arraylist (List) dynamisch erstellen Java Basics - Anfänger-Themen 1
Yjuq Generic Methode - Wie muss die List Definition aussehen? Java Basics - Anfänger-Themen 3
M List<String> auswählen Java Basics - Anfänger-Themen 42
F In List Rekursiv suchen Java Basics - Anfänger-Themen 12
B Unterschied zwischen (List<T> a) und (T[] a) Java Basics - Anfänger-Themen 7
T HashSet in List-Object Java Basics - Anfänger-Themen 5
B ENUM to List<String> konvertieren Java Basics - Anfänger-Themen 2
E Array-list mit einer bestimmten Länge Java Basics - Anfänger-Themen 17
B Sorting List und Remove Java Basics - Anfänger-Themen 2
B String: suche nach Wörter und in List<String> speichern Java Basics - Anfänger-Themen 3
M Methode überladen - Array List Java Basics - Anfänger-Themen 5
L LIST.ADD Java Basics - Anfänger-Themen 2
M XWPF - Bullet Point list erstellen Java Basics - Anfänger-Themen 1
I <List> sortieren Java Basics - Anfänger-Themen 2
N Klassen List-Art Java Basics - Anfänger-Themen 5
S List<T<X,Y> sortieren Java Basics - Anfänger-Themen 5
Salo Datentypen "Doppelt" List(e) ("gesucht") Java Basics - Anfänger-Themen 6
F .csv Export aus einer list Java Basics - Anfänger-Themen 25
T KlausurÜbung- Förderband-Linked List Java Basics - Anfänger-Themen 53
D Komischer Fehler nach <Integer> List Java Basics - Anfänger-Themen 2
B in einem abstrakten Set ,Elemente einer einfache verkettete List epeichern Java Basics - Anfänger-Themen 13
T List und ArrayList Java Basics - Anfänger-Themen 3
UnityFriday method getPrevious in class List<ContentType> cannot be applied to given types Java Basics - Anfänger-Themen 29
hooked Verkettete Liste / linked list Java Basics - Anfänger-Themen 2
T Datentypen InputStream to list of Int (or similar) Java Basics - Anfänger-Themen 4
D Input/Output CSV Parser list unvollständig Java Basics - Anfänger-Themen 25
V Erste Schritte Dateinamen aus einer FIle[] in eine List Java Basics - Anfänger-Themen 11
S Methoden Linked List Methoden können nicht aufgerufen werden Java Basics - Anfänger-Themen 1
U JAXB - List wird nicht ausgefüllt Java Basics - Anfänger-Themen 1
L Linked List - Array List Java Basics - Anfänger-Themen 2
J Einfach verkettet List: Ausgabe ohne null Java Basics - Anfänger-Themen 11
D Bestimmten Wert aus Array List ausgeben Java Basics - Anfänger-Themen 7
V Personenverwaltung mit List<>, falsche Ausgaben Java Basics - Anfänger-Themen 5
M List befüllen Java Basics - Anfänger-Themen 3
S Datentypen List.toString wirft NullPointerException Java Basics - Anfänger-Themen 5
P Anlegen und Abfragen von Array List Java Basics - Anfänger-Themen 4
S Element von List<E> in String umwandeln Java Basics - Anfänger-Themen 3
A Wie nutze ich List<List<String>> Java Basics - Anfänger-Themen 4
M Endlos schleife in List Java Basics - Anfänger-Themen 5
P Zufallszahlen ohne zahlen einer List Java Basics - Anfänger-Themen 21
C Array List mit String vergleichen und Fehlermeldung ausgeben Java Basics - Anfänger-Themen 6
S Probleme bei Ausgabe von rekursiver Methode (List) Java Basics - Anfänger-Themen 16
T Tabstopp in AWT-List? Java Basics - Anfänger-Themen 8
P Doppelte Einträge in eine List Java Basics - Anfänger-Themen 5
M Wozu Upcasting? Am Beispiel List = ArrayList Java Basics - Anfänger-Themen 2
A List mit integern füllen Java Basics - Anfänger-Themen 4
D sortieren von List<> Java Basics - Anfänger-Themen 2
B List - Drag&Drop Java Basics - Anfänger-Themen 8
SexyPenny90 Implementierung einer doubly linked list Java Basics - Anfänger-Themen 5
G Linked List Programm add Problem Java Basics - Anfänger-Themen 5
C List Abfragenproblem Java Basics - Anfänger-Themen 3
J List als anonyme Klasse Java Basics - Anfänger-Themen 9
H Collections List in List<SpecificType> als stat. generische Methode zurückgeben Java Basics - Anfänger-Themen 4
F Wozu braucht man array list? Java Basics - Anfänger-Themen 29
T Collections Wie funktioniert List() ? Java Basics - Anfänger-Themen 7
tux20 Problem beim Schreiben von List to File Java Basics - Anfänger-Themen 2
K Frage Set List Java Basics - Anfänger-Themen 3
M Array List ausgeben Java Basics - Anfänger-Themen 13
C Typen aus List<Object[]> ändern Java Basics - Anfänger-Themen 7
S Gute List Implementation Java Basics - Anfänger-Themen 5
S Synchronisieren einer Linked List Java Basics - Anfänger-Themen 16
A List Array - wie instanzieren Java Basics - Anfänger-Themen 7
T List mit mehreren gleichen Strings bereinigen Java Basics - Anfänger-Themen 4
R List to BinaryTree Java Basics - Anfänger-Themen 13
P Set mit List vergleichen Java Basics - Anfänger-Themen 8
Binary.Coder List bzw. ArrayList als String ausgeben Java Basics - Anfänger-Themen 2
J Datentypen List - gleiche Einträge bei neuen Objekten Java Basics - Anfänger-Themen 31
T List.add(Object) führt zu NullPointerException Java Basics - Anfänger-Themen 14
M Collections Cast bei ArrayList (List) Java Basics - Anfänger-Themen 2
B List list - anstatt ArrayList list = new ArrayList Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben