javaanfänger Geschrieben 24. Juni 2002 Geschrieben 24. Juni 2002 Hi, ich habe eine Frage. Wie kann ich aus einem Textdatei Wörter auslesen die dann in eine JComboBox geschrieben werden? Textdatei sieht wie folgt aus: ----------- Wort1 Wort2 Wort3 ---------- Die 3 Wörter will ich nun in der JCombobox haben. Kann mir bitte einer von euch eine kurze Lösung schicken?
Jaraz Geschrieben 24. Juni 2002 Geschrieben 24. Juni 2002 Hallo, Vector comboDaten = new Vector(); FileReader fr = new FileReader("name_der_datei"); BufferedReader br = new BufferedReader(fr); String line = br.readLine(); while (line != null) { comboDaten.add(line); line = br.readLine(); } br.close(); fr.close(); JComboBox combo = new JComboBox(comboDaten); Gruß Jaraz
LoCal Geschrieben 24. Juni 2002 Geschrieben 24. Juni 2002 Original geschrieben von Jaraz Hallo, Vector comboDaten = new Vector(); FileReader fr = new FileReader("name_der_datei"); BufferedReader br = new BufferedReader(fr); String line = br.readLine(); while (line != null) { comboDaten.add(line); line = br.readLine(); } br.close(); fr.close(); JComboBox combo = new JComboBox(comboDaten); Gruß Jaraz In so weit richtig, aber ich hätte da dochmal ne frage: FileReader fr = new FileReader("name_der_datei"); BufferedReader br = new BufferedReader(fr); String line = br.readLine(); while (line != null) { comboDaten.add(line); line = br.readLine(); } deine ausleseschleife ausleseschleife sollte evtl. besser so aussehen. String line; while((line=br.readLine())!=null) { comboDaten.add(line); } Das hat nämlich den Vorteil, daß Du keinen Ärger bekommst wenn Du zufällig ne komplett leere Datei ausliest. Mehr Geschmacksache ist die FileReader/BufferedReader Zeile, die kriegt mensch nämlich auch in eine Zeile BufferedReader br = new BufferedReader(new FileReader("name_der_datei"));
Jaraz Geschrieben 24. Juni 2002 Geschrieben 24. Juni 2002 Das hat nämlich den Vorteil, daß Du keinen Ärger bekommst wenn Du zufällig ne komplett leere Datei ausliest. Nö, es hat keinen Vorteil, da die beiden Schreibweisen dasselbe machen. Auch bei einer leeren Datei. Mehr Geschmacksache ist die FileReader/BufferedReader Zeile, die kriegt mensch nämlich auch in eine Zeile Ich hatte, da es sich um eine Anfängerfrage handelt, den Code Extra ausgeschrieben, damit er die einzelnen Schritte nachvollziehen kann. Natürlich kann man das kürzer schreiben, allerdings passiert im Hintergrund dasselbe. Übrigens geht es auch so: Vector comboDaten = new Vector(); BufferedReader br = new BufferedReader(new FileReader("test.txt")); String line; while((line=br.readLine())!=null) comboDaten.add(line); br.close(); JComboBox combo = new JComboBox(comboDaten); Gruß Jaraz
javaanfänger Geschrieben 25. Juni 2002 Autor Geschrieben 25. Juni 2002 Sorry aber mit euer hilfe funktioniert es auch nicht irgendetwas ist falsch.
Jaraz Geschrieben 25. Juni 2002 Geschrieben 25. Juni 2002 Müssen wir jetzt in unsere Kristallkugeln schauen, um zu erfahren was falsch sein soll? Die einzelnen Funktionen können natürlich Exceptions wie FileNotFoundException werfen, die du abfangen musst. Das Beispiel funktioniert 100%ig. Gruß Jaraz
javaanfänger Geschrieben 25. Juni 2002 Autor Geschrieben 25. Juni 2002 sorry ich wollte keinem zunahe treten.
Jaraz Geschrieben 25. Juni 2002 Geschrieben 25. Juni 2002 Original geschrieben von javaanfänger sorry ich wollte keinem zunahe treten. Anscheinend kann dein Browser keine Smilys darstellen... Wir wollen dir hier nur helfen, aber wenn du einfach in den Raum wirfst das das was wir dir raten nicht funktioniert, ohne zu sagen was denn nun nicht funktioniert, dann kann zumindest ich, dir nicht weiterhelfen. Gruß Jaraz
javaanfänger Geschrieben 25. Juni 2002 Autor Geschrieben 25. Juni 2002 ich weiß es schon selber nicht mehr was funktioniert und was nicht funktioniert. Das Probelm ist das ich habe von der Arbeit aus eine Aufgabe bekommen die ich morgen gelöst haben soll. Aber leider kann ich Java nicht gut genug dafür ich lerne es nämlich erst seit einem Monat. Und ich will heute keine Überstunden machen da ich noch wo hin muss deshalb bin ich ein bißchen gereizt. Sorry
Jaraz Geschrieben 25. Juni 2002 Geschrieben 25. Juni 2002 OK, nichtaufgeben. Dann wollen wir mal zusehen, dass du bis 13:30 Uhr fertig bist. Hier nun ein komplettes lauffähiges Beispiel. Denk dran, die beiden Dateien genauso wie den Klassennamen benennen. Also Application.java und Frame1.java. import java.awt.*; public class Application { boolean packFrame = false; //Construct the application public Application() { //Build Main Application Frame Frame1 frame = new Frame1(); frame.setVisible(true); } //Main method public static void main(String[] args) { new Application(); } } import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.*; public class Frame1 extends JFrame { JPanel contentPane; Vector comboDaten; BufferedReader br; JComboBox combo; //Construct the frame public Frame1() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { //Read Combo Data comboDaten = new Vector(); br = new BufferedReader(new FileReader("c:/daten.txt")); String line = br.readLine(); while (line != null) { comboDaten.add(line); line = br.readLine(); } br.close(); //Fill Combo combo = new JComboBox(comboDaten); contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(new FlowLayout()); //Add Combo to Panel contentPane.add(combo); this.setSize(new Dimension(400, 300)); this.setTitle("Combo Beispiel"); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } } Die Datei daten.txt legst du unter c:/ an, oder du änderst den Pfad im Source Code. Gruß Jaraz
LoCal Geschrieben 25. Juni 2002 Geschrieben 25. Juni 2002 Original geschrieben von javaanfänger Sorry aber mit euer hilfe funktioniert es auch nicht irgendetwas ist falsch. Moin, was für ein Fehler kommt denn?
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden