JOptionPane - Dialog

Status
Nicht offen für weitere Antworten.

magic_halli

Bekanntes Mitglied
Hi,

ich möchte folgendes realisieren, habe aber für meinen Problemfall über die Suche nichts passendes gefunden!

Ich möchte bspw. 5 Datensätze (stehen in einer ArrayList) in einem JOptionPane-Dialog auf dem Screen darstellen und der User soll dann die Wahl haben, welchen Datensatz er wählt.
Dann will ich, entsprechend der Userauswahl, mir den entspr. Datensatz in eine Variable speichern, mit der ich dann weiterarbeiten kann?

Ist das so machbar? Hat jemand nen Link o.ä. wo ich vielleicht sowas ähnliches finden kann?


Danke und Gruß
 
Ah ok... habe das passende für mich gefunden.
Code:
// meine ArrayList - kann mit unterschiedlich vielen Datensätzen gefüllt sein
ArrayList alTest;

Object[] possibilities = {"ham", "spam", "yam"};
String s = (String)JOptionPane.showInputDialog(
                    null,
                    "Complete the sentence:\n"
                    + "\"Green eggs and...\"",
                    "Customized Dialog",
                    JOptionPane.PLAIN_MESSAGE,
                    null,
                    possibilities,
                    "ham");

Problem hierbei:
Ich habe eine ArrayList alTest. Diese kann unterschiedlich viele Datensätze haben (weiß ich vorher nicht). Nun möchte ich das 'possibilities'-Object[] auch dynamisch anhand der vorhandenen ArrayList-Einträge füllen.
Nur, wie mache ich das???
Ich habe mittlerweile die verschiedensten Sachen versucht, aber es will nicht gelingen. ???:L
 
was du so alles versuchst..,
eine einfache for-Schleife ist zu kompliziert?

alTest.toArray() gibts aber auch 😉
 
SlaterB hat gesagt.:
was du so alles versuchst..,
eine einfache for-Schleife ist zu kompliziert?

alTest.toArray() gibts aber auch 😉

Mit ner for-Schleife für die einzelnen ArrayList-Einträge hab ich´s natürlich schon probiert! Aber wie belege ich dann das 'possibilities'-Object, damit nach der for-Schleife im JOptionPane auch alle ArrayList-Einträge schön untereinander in meiner ComboBox stehen???
Code:
// meine ArrayList 'alTest' - kann mit unterschiedlich vielen Datensätzen gefüllt sein

Object[] possibilities = new Object[alTest.size()];
for(int i=0;i<alTest.size();i++){
   // hier Fehlermeldung: "Array constants can only be used in initializers"
   possibilities = { alTest.get(i) };
}

String s = (String)JOptionPane.showInputDialog(
                    null,
                    "Complete the sentence:\n"
                    + "\"Green eggs and...\"",
                    "Customized Dialog",
                    JOptionPane.PLAIN_MESSAGE,
                    null,
                    possibilities,
                    "ham");
Hundert pro ist bei mir syntaktisch was nicht falsch... die Frage ist nur was? 😳
 
tja, Lehrbuch Kapitel 1, kann man natürlich auch überspringen..

possibilities = alTest.get(i);
 
SlaterB hat gesagt.:
tja, Lehrbuch Kapitel 1, kann man natürlich auch überspringen..

possibilities = alTest.get(i);

😳 Lehrbuch Kapitel 1 klassisch übersprungen und/oder Knick in der Optik 😳
Ja, den kleinen Index untern Tisch fallen lassen... geht! OMG.

Danke
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben