Einlesen von text in textArea mittels for-schleife

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Einlesen von text in textArea mittels for-schleife

    Hallo zusammen! Ich hab für die Uni ein Projekt am Laufen, und ich komme hier grad nicht weiter... ich will bie Druck auf einen Button ein TextArea-Fenster aufmachen, in das Text aus einer txt. Datei eingelesen werden soll. funktioniert auch sehr gut. Problem: Ich habe sechs verschiedene Buttons, die mit 6 verschiedenen Texten belegt werden sollen, und ich finde es nicht sehr elegant, 6 TextAreas zu programmieren... gibt es da vielleicht einen besseren Weg mit einer for-Schleife oder so? Wäre für Hilfe wirklich dankbar...
    lieben gruß

    code:

    Quellcode

    1. package src;
    2. import java.awt.ScrollPane;
    3. import java.io.File;
    4. import java.io.FileReader;
    5. import java.io.IOException;
    6. import javax.swing.JFrame;
    7. import javax.swing.JScrollPane;
    8. import javax.swing.JTextArea;
    9. import javax.swing.text.JTextComponent;
    10. public class Area extends JFrame {
    11. public Area()
    12. {
    13. super("Area");
    14. setDefaultCloseOperation(EXIT_ON_CLOSE);
    15. JTextArea textArea = new JTextArea();
    16. textArea.setSize(500,500);
    17. textArea.setLineWrap(true);
    18. textArea.setWrapStyleWord(true);
    19. File file = new File("C:/Dokumente und Einstellungen/Eigene Dateien/Java Vok/London.txt");
    20. try
    21. {
    22. textArea.read(new FileReader(file), "");
    23. }
    24. catch (IOException e)
    25. {
    26. e.printStackTrace();
    27. textArea.setText("Error reading file: " + file);
    28. }
    29. add(new JScrollPane(textArea));
    30. pack();
    31. setVisible(true);
    32. }
    33. /**
    34. * @param args
    35. */
    36. public static void main(String[] args)
    37. {
    38. new Area();
    39. }
    40. }
    Alles anzeigen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von franziblau ()

  • hi,
    danke für den tip mit dem arry, das hab ich mal gemacht, und erscheint mir auch ziemlich sinnvoll :wink:
    Leider hab ich noch nie mir einer for-each Schleife gearbeitet, und mir ist echt noch nicht ganz klar, wie ich klarmachen soll, dass ich, wenn ich auf einen der 6 Buttons drücke, dann auch den text zum enstprechenden button haben möchte...
    das ist der code für das fenster mit den buttons:

    Quellcode

    1. centerPanel = new JPanel();
    2. centerPanel.setLayout(new GridLayout(6,3));
    3. for( i=0; i<6;i++)
    4. {
    5. for( j=0; j<3;j++)
    6. {
    7. button[i][j] = new MyButton(" "+i);
    8. centerPanel.add(button[i][j]);
    9. }
    10. }
    11. for( i=0;i<6;i++)
    12. {
    13. button[i][0].setText("Lektion"+ (i+1));
    14. button[i][1].setText("Abfrage"+ (i+1));
    15. button[i][2].setText("Vokabelliste"+ (i+1));
    16. }
    Alles anzeigen


    und jetzt will ich, dass ich die Elemente meines Arrays auf die Buttons mit der Aufschrift "Lektionen" verteile... sprich, auf Button 1 den Text von 1 und so weiter...

    steh grad voll auf dem Schlauch, sorry

    :oops:
  • zu swing spezifischen sachen kann ich dir leider nicht helfen
    aber hab meine foreach oben nochmal korrigiert.. und hier ein bisschen mehr code:

    Quellcode

    1. int i=0;
    2. Area[] area = new Area[6];
    3. String[] files = new String[6];
    4. files[0] = "London.txt";
    5. files[1] = "Berlin.txt";
    6. files[2] = "Dublin.txt";
    7. for(String file : files) {
    8. area[i++] = new Area(file);
    9. }