JavaFX ObservableList -- warum funktioniert das so....

fhs14647

Mitglied
Ich beschäftige mich gerade mit der ObservableList und habe ein Übungsbeispiel gefunden.
Das Beispiel funktioniert problemlos, nur weiß ich nicht warum ......

Konkret verstehe ich nicht, warum es zur Ausgabe der Liste im Textfeld folgende Anweisungen braucht, speziell die Anweisung tf.getText() , die ja nur eine leere Zeile bedeutet. Lasse ich tf.getText() weg, wird immer nur die letzte Eintragung angezeigt, warum ????

Vielen Dank im Voraus!!

Java:
tf.setText("");
// Iterator für die beobachtbare Liste
                for (Iterator<String> it = observableList.iterator(); it.hasNext();) {

                    tf.setText(tf.getText() + it.next() + "\n");
                }
            }




Java:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javax.swing.JOptionPane;

/**
*
* @author Mario
*/
public class MyOList extends Application {

    @Override
    public void start(Stage primaryStage) {
        Button btn = new Button();
        btn.setText("Erweitere Liste");
        final TextArea tf = new TextArea();
        final Label lb = new Label();
        lb.setText("Größe der Liste: 0");

        final List<String> liste = new ArrayList<>();

// Beobachten der Liste mit ObservableList.
        final ObservableList<String> observableList
                = FXCollections.observableList(liste);
        observableList.addListener(new ListChangeListener() {
            @Override
            public void onChanged(ListChangeListener.Change change) {
                tf.setText("");
// Iterator für die beobachtbare Liste
                for (Iterator<String> it = observableList.iterator(); it.hasNext();) {

                    tf.setText(tf.getText() + it.next() + "\n");
                }
            }
        });
        btn.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
// Liste wird erweitert
                String namen = JOptionPane.showInputDialog(null, "Geben Sie einen Namen eine");
                observableList.add(namen);

                lb.setText("Größe der Liste: " + observableList.size());

            }
        });
        VBox root = new VBox();
        root.getChildren().addAll(btn, lb, tf);
        Scene scene = new Scene(root, 300, 250);
        primaryStage.setTitle("Collection!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
 

Tom299

Bekanntes Mitglied
da steht aber nicht nur getText() sondern
Java:
tf.setText(tf.getText()+ it.next()+"\n");

Hier wird der Inhalt des Textfeldes gesetzt, und zwar wird der "alte" Text mit getText() + der neue Text aus it.next() übernommen und am Ende noch ein Zeilenumbruch mit "\n" gemacht.

Das ist das gleiche wie z.B. bei einem String:
Java:
String s = "";
s = s + "a"; // -> a
s = s + "b" // -> ab
s = s + "c" // -> abc
 

fhs14647

Mitglied
Ah, jetzt habe ich es gecheckt. Ohne tf.getText() würde er immer nur jeden Listeneintrag einfügen und mit dem nächsten Listeneintrag im Textfeld überschreiben. Sehen würde man nur den letzten Listeneintrag, da die anderen Listeneinträge überschrieben wurden.
Habe ich das richtig verstanden??
Vielen Dank für deine Mühe
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Element aus comboBox mit observableList löschen AWT, Swing, JavaFX & SWT 3
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
D ObservableList Werte hinzufügen AWT, Swing, JavaFX & SWT 7
missy72 JavaFX TableView / TableColumn / ObservableList / zwei Werte in einer Zelle AWT, Swing, JavaFX & SWT 2
missy72 JavaFX ObservableList in einer ArrayList speichern. AWT, Swing, JavaFX & SWT 7
M Muss man die ObservableList aktualisieren? AWT, Swing, JavaFX & SWT 3
G Bekomme ResultSet mittels ObservableList nicht ins TableView AWT, Swing, JavaFX & SWT 25
D JavaFX Listview mit observableList AWT, Swing, JavaFX & SWT 6
J ObservableList wirft exception beim zweiten füllen. AWT, Swing, JavaFX & SWT 4
F JavaFX In SampleController ObservableList zu ListView hinzufügen AWT, Swing, JavaFX & SWT 0
D NullPointerException observableList AWT, Swing, JavaFX & SWT 4
K JavaFX ObservableList + Fenster AWT, Swing, JavaFX & SWT 6
D JavaFX observablelist löschen AWT, Swing, JavaFX & SWT 3
X JavaFX ObservableList aktuell halten AWT, Swing, JavaFX & SWT 6
D Swing JGoodies: SelectionInList / ObservableList hört nicht auf Veränderungen in den Items AWT, Swing, JavaFX & SWT 1
Juelin if Abfrage funktioniert nicht richtig AWT, Swing, JavaFX & SWT 10
C Button ActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
P AWT Programm funktioniert nicht richtig AWT, Swing, JavaFX & SWT 35
MartinNeuerlich Kann mir jemand, der einen Mac mit einem m1 oder m2-Chip hat, eine POM geben mit der Javafx-Fullscreen beim Mac mit m-Chip funktioniert? AWT, Swing, JavaFX & SWT 1
R auto. Importanweisungen für javafx funktioniert in Eclipse nicht mehr AWT, Swing, JavaFX & SWT 4
M Scrollbar funktioniert nicht AWT, Swing, JavaFX & SWT 10
D Repaint Funktioniert nicht AWT, Swing, JavaFX & SWT 2
W JEditorPane textausrichtung nach settext funktioniert nicht mehr AWT, Swing, JavaFX & SWT 11
H Swing Anpassen der Textgröße im JLabel funktioniert nur bedingt AWT, Swing, JavaFX & SWT 7
sserio JFrame setIconImmage() funktioniert nicht AWT, Swing, JavaFX & SWT 3
T Swing Tooltip-Delay funktioniert nicht immer. AWT, Swing, JavaFX & SWT 1
B Output GUI funktioniert nur beim ersten Mal richtig. AWT, Swing, JavaFX & SWT 4
sserio Wie funktioniert ein Controller bei JavaFx? AWT, Swing, JavaFX & SWT 1
U Wie funktioniert das rotieren unter 2dGraphics, also wie stelle ich z. B. 90° ein? AWT, Swing, JavaFX & SWT 1
U Wie funktioniert Polygon? AWT, Swing, JavaFX & SWT 1
U Wie genau funktioniert 2dgraphics, in diesem Bezug? AWT, Swing, JavaFX & SWT 4
S ChoiceBox aus ArrayList per setValue() mit Wert belegen funktioniert nicht. AWT, Swing, JavaFX & SWT 0
H KeyListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
H BufferedImage zurücksetzen funktioniert nicht AWT, Swing, JavaFX & SWT 12
H RPG Programmieren, label.setLocation funktioniert nicht AWT, Swing, JavaFX & SWT 7
EinNickname9 Einfacher parser funktioniert nicht AWT, Swing, JavaFX & SWT 2
F Swing Adapt Row Height funktioniert nicht richtig :( AWT, Swing, JavaFX & SWT 7
P Swing jxmapviewer hinzufügen/nutzen funktioniert nicht AWT, Swing, JavaFX & SWT 7
CptK Wie funktioniert contains() für Path2D.Double AWT, Swing, JavaFX & SWT 10
J Anbindung Textfeldklasse an Table funktioniert nicht AWT, Swing, JavaFX & SWT 3
R Actionlistener funktioniert nicht AWT, Swing, JavaFX & SWT 4
B Stylen eines JTextPane funktioniert nicht AWT, Swing, JavaFX & SWT 1
VPChief Swing Eclipse: Nach Exportieren, Button funktioniert nicht mehr AWT, Swing, JavaFX & SWT 26
H Bewegung funktioniert nicht AWT, Swing, JavaFX & SWT 3
N Pixelfarbe abgleichen funktioniert nicht AWT, Swing, JavaFX & SWT 5
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
N eclipse Java, bilder benutzten Funktioniert nicht AWT, Swing, JavaFX & SWT 6
Zrebna JavaFX-Projekt mit Bildern funktioniert nicht - um Hilfe wird gebeten AWT, Swing, JavaFX & SWT 14
steven789hjk543 Swing Weiß jemand, warum dieses Programm nicht funktioniert? AWT, Swing, JavaFX & SWT 7
M Swing setMaximumSize funktioniert nicht AWT, Swing, JavaFX & SWT 1
K JavaFX funktioniert nicht AWT, Swing, JavaFX & SWT 2
B AWT actionPerformed Method funktioniert nicht AWT, Swing, JavaFX & SWT 12
L JavaFX Drag and Drop funktioniert nicht AWT, Swing, JavaFX & SWT 3
M Swing Code funktioniert auf Windows aber nicht Linux... AWT, Swing, JavaFX & SWT 3
T LookAndFeel LookAndFeel funktioniert nicht beim JFrame wechsel AWT, Swing, JavaFX & SWT 3
J JavaFX addListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
P CardLayout funktioniert fehlerhaft AWT, Swing, JavaFX & SWT 13
L WrapLayout funktioniert nicht AWT, Swing, JavaFX & SWT 1
kodela Accalerator für einige Menüoptionen funktioniert nicht mehr AWT, Swing, JavaFX & SWT 3
S JavaFX mit javac compilieren funktioniert nicht AWT, Swing, JavaFX & SWT 2
K Swing Entfernen von Panel funktioniert nicht AWT, Swing, JavaFX & SWT 5
J AWT System Farben / java.awt.SystemColor funktioniert nicht AWT, Swing, JavaFX & SWT 4
G Swing Swing Binding JList funktioniert nicht AWT, Swing, JavaFX & SWT 5
it_is_all ActionListener umlenken/ updaten mit AddActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 3
K javafx app > "run in browser" funktioniert nicht AWT, Swing, JavaFX & SWT 3
N JavaFX GridPane Halignment funktioniert nicht AWT, Swing, JavaFX & SWT 1
it_is_all JLabel.setIcon - funktioniert nicht mehr AWT, Swing, JavaFX & SWT 2
R Ausgabe über JOptionPane.showMessageDialog funktioniert nicht AWT, Swing, JavaFX & SWT 2
L 2D-Grafik Frage zu Ellipse2D.Double, Abfrage, ob Punkt enthalten ist funktioniert nicht AWT, Swing, JavaFX & SWT 3
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
F "ActionListener" funktioniert nicht AWT, Swing, JavaFX & SWT 4
Z BoxLayout funktioniert nicht und Buttongröße AWT, Swing, JavaFX & SWT 18
C Java Hintergrund funktioniert nicht AWT, Swing, JavaFX & SWT 9
J Swing Wie funktioniert dieser ChangePropertyListener??? AWT, Swing, JavaFX & SWT 0
GreenTeaYT Button funktioniert nicht für Ein-und Auszahlungen? AWT, Swing, JavaFX & SWT 8
C Keylistener funktioniert nicht AWT, Swing, JavaFX & SWT 1
A Swing Programm funktioniert aber zwei Buttons werden angezeigt AWT, Swing, JavaFX & SWT 3
M UIManager funktioniert nicht mit Farben AWT, Swing, JavaFX & SWT 9
M Swing UIManager funktioniert nicht mit Farben AWT, Swing, JavaFX & SWT 0
T KeyListener funktioniert nicht wenn ich ein JButton hinzufüge AWT, Swing, JavaFX & SWT 1
S JavaFX wie funktioniert CSS und javaFX AWT, Swing, JavaFX & SWT 19
S KeyListener funktioniert nicht AWT, Swing, JavaFX & SWT 2
J JScrollPane funktioniert nicht AWT, Swing, JavaFX & SWT 5
M JavaFX Eventhandler Funktioniert nicht AWT, Swing, JavaFX & SWT 3
Sogomn JavaFX Injektion funktioniert nicht AWT, Swing, JavaFX & SWT 4
Blender3D Swing KeyBoardListener funktioniert nicht unter UBUNTU AWT, Swing, JavaFX & SWT 7
J JavaFX Button funktioniert(nicht) AWT, Swing, JavaFX & SWT 3
J DefaultCloseOperation funktioniert nicht AWT, Swing, JavaFX & SWT 9
R Swing Bewegung eines Graphics Objektes innerhalb eines JPanels funktioniert nicht richtig AWT, Swing, JavaFX & SWT 2
Paul15 Button funktioniert nur einmal AWT, Swing, JavaFX & SWT 9
D Swing Warum erhalte ich keine Ausgabe? Funktioniert der equals-vergleich in actionPeformed nicht richtig? AWT, Swing, JavaFX & SWT 3
H UpdatePolicy wird nicht richtig gesetzt / funktioniert nicht AWT, Swing, JavaFX & SWT 5
W Paint-Methode in anderer Klasse funktioniert nicht AWT, Swing, JavaFX & SWT 7
N KeyListener funktioniert nicht richitg AWT, Swing, JavaFX & SWT 4
L Event Handling wie funktioniert .getComponent? AWT, Swing, JavaFX & SWT 1
B JavaFX Scene Builder: resize funktioniert (meist) nicht AWT, Swing, JavaFX & SWT 6
J Swing Basics - JButton funktioniert nicht. AWT, Swing, JavaFX & SWT 1
D Passwort [Aber mit 3 Versuchen] Funktioniert nicht wie erwartet AWT, Swing, JavaFX & SWT 4
C Applet Applet funktioniert in Eclipse aber nicht in Browser AWT, Swing, JavaFX & SWT 1
J Zellen in JavaFx einfärben funktioniert nicht AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben