ListView nach Erweiterung Fehler in CellFactory

Tintenfisch

Bekanntes Mitglied
Hallo,
ich habe eine ListView, welch grundsätzlich ihre Daten aus einem Array bekommt. Die CellFactory färbt je nach Inhalt der Zelle diese dementsprechend ein.
Die Daten, welche von vornherein Gespeichert sind und somit schon bei Programmstart gezeigt werden, durchlaufen die CellFactory auch einwandfrei und werden fehlerfrei angezeigt.
Wenn nun allerdings weitere Daten hinzugefügt werden, werden Zellen eingefärbt, dessen Inhalt diesem eigentlich gar nicht entspricht.
An der Speicherung kann es an sich nicht liegen, da die Daten an anderer Stelle ebenso in einer TableView gezeigt werden und es dort keine Probleme mit fehlerhaften Zellfarben gibt.
Um die ListView nach Erweiterung des Arrays mit dessen neunen Inhalt zu füllen, rufe ich erneut die Methode auf, in welcher die Daten aus dem genannten Array in eine ObservableList geschrieben und anschließend dessen Daten mit setItems neu in der ListView gezeigt werden sollen.
Ein erneutes aufrufen der CellFactory hat an der Stelle keinen erkennbaren Effekt.
Wenn Code benötigt wird, gerne ansprechen, ansonsten schon einmal danke fürs lesen.
 

Tintenfisch

Bekanntes Mitglied
Hier mal die Hauptbeteiligten. Die Werte werden immer korrekt übernommen und angezeigt, lediglich die CellFactory macht nach dem hinzufügen weiterer Daten probleme.
[CODE lang="java" title="CellFactory"] public void entryFieldListViewCellFactory () {
this.getEntryListView().setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
@Override
public ListCell<String> call(ListView<String> arg0) {
// ListCell<String> cell = new ListCell<String>() {
TextFieldListCell<String> cell = new TextFieldListCell<String>() {
@Override
public void updateItem (String item, boolean empty) {
super.updateItem(item, empty);
if (item == null || empty || item == "") {
setText("");
setStyle("");
} else if (item.length() > 1 && item.substring(0, 2).equals("#v")) {
getStyleClass().add("vacation");
setText(item.substring(2));
} else {
setText(item);
getStyleClass().add("zerocolor");
}
}
};

return cell;
}
});
}[/CODE]
[CODE lang="java" title="Die Funktion des Buttons, welcher den neuen Inhalt ins Array schreibt (und anschließend den neuen Inhalt in der ListView ausgibt)"]public static void addEntryBt (EntryField entryField, CalendarTable calendarTable, User user1, User user2, User user3) {
entryField.getAddEntryBt().setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent arg0) {
entryField.entryToArray();
EntryField.entryDateFillLiVi(entryField);
entryField.entryFieldListViewCellFactory();

}});}[/CODE]
[CODE lang="java" title="Die Funktion, welche den Inhalt des Arrays in die ObservableList übernimmmt und in ListView zeigt"]public static void entryDateFillLiVi (EntryField entryField) {
ObservableList<String> entryList = FXCollections.observableArrayList();
for (int i = 0; i < User.userNameGetItems(entryField.getUsersBox().getValue(), Date.indexOf(entryField.getEntryDate())).size(); i ++) {
if (User.userNameGetItems(entryField.getUsersBox().getValue(), Date.indexOf(entryField.getEntryDate())).size() != 0) {
entryList.addAll(User.userNameGetItem(entryField.getUsersBox().getValue(), Date.indexOf(entryField.getEntryDate()), i));
}
}
entryField.getEntryListView().setItems(entryList);
}[/CODE]
 
Zuletzt bearbeitet:

Tintenfisch

Bekanntes Mitglied
Du greifst mit static aber nicht auf die Instanz einer Klasse zu.

Ich will dich nicht entmutigen - und möglicherweise liege ich ja auch falsch - aber ich würde dir raten, dich zunächst einmal mit den Grundlagen von Java zu beschäftigen, bevor du Oberflächen (GUI) entwirfst.
Auf ein Attribut einer Instanz dieser Klasse meinte ich. Aber ja, ich stehe wirklich auch gerade noch am Anfang und der Korrekte weg ist das sicher nicht. Allerdings funktioniert es, weshalb ich es auch erstmal so gemacht hatte. Sicherlich ist dem noch nachzugehen, aber die meisten Sachen erschließen sich nach und nach beim ausprobieren.
An sich aus der Methode mit this auf ein Attribut einer Instanz dieser Klasse zuzugreifen gelingt, aus der "handle" Methode, welche sich in einer Methode der Klasse befindet, allerdings nicht. Deshalb hatte ich erstmal die benötigte Methode static gesetzt, dass ich sie einfach mit dem Klassennamen aufrufen kann.
Aber über einen Tipp wäre sehr dankbar. Anbei mal ein Bsp., es handelt sich um die Methode entrydateFillLiVi, welche derzeit static steht und sich in EntryField befindet. Wie komme ich von dort an das benötigte Attribut?
Java:
public void entryDateFillLiViViaUserBx (EntryField entryField) {
        this.usersBox.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent arg0) {
                EntryField.entryDateFillLiVi(entryField);  // die ohne static aufrufen
            }
        });
    }
 
K

kneitzel

Gast
Wenn eine Methode "static" ist, kann sie nicht auf eine Instabz und genauso wenig auf ein Attribut der Instanz zugreifen,
Er scheint die Instanz als Parameter zu übergeben. Somit hat er dann Zugriff auf diese Instanz..

Was aber natürlich an dem schlechten Design, das es zu verbessern gilt, nichts ändert.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
MiMa Obseved List mit ListView (Dateiliste) AWT, Swing, JavaFX & SWT 4
H JavaFX ListView MultipleSelection AWT, Swing, JavaFX & SWT 9
AmsananKING ListView Drag And Drop AWT, Swing, JavaFX & SWT 0
AmsananKING Drag And Drop Filenames Inside A Listview AWT, Swing, JavaFX & SWT 1
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
TheWhiteShadow JavaFX ListView Problem beim Entfernen von Elementen AWT, Swing, JavaFX & SWT 1
Davee JavaFX ListView = null wenn ich sie in Laufzeit ändern will! AWT, Swing, JavaFX & SWT 16
G Eintrag soll nur einmal in Listview zu sehen sein AWT, Swing, JavaFX & SWT 3
T ListView in TableCell AWT, Swing, JavaFX & SWT 4
MiMa File Dateien im ListView als Name anzeigen? AWT, Swing, JavaFX & SWT 6
B JavaFX ListView in Kombination mit TextField AWT, Swing, JavaFX & SWT 5
B JavaFX das richtige ListView filtern AWT, Swing, JavaFX & SWT 2
B Dynamische ListView-Größe, die bei Fenstergrößenänderung sich anpasst AWT, Swing, JavaFX & SWT 19
S JavaFX ListView Inhalte während Laufzeit ändern AWT, Swing, JavaFX & SWT 23
karlmasutra JavaFX ListView zeigt Einträge nicht an AWT, Swing, JavaFX & SWT 11
B Textfelder in einer ListView ausgeben AWT, Swing, JavaFX & SWT 13
J CheckBoxListCell auf click event in listView reagieren AWT, Swing, JavaFX & SWT 1
karlmasutra JavaFX Listenelemente bearbeiten Listview AWT, Swing, JavaFX & SWT 1
D JavaFX Listview mit observableList AWT, Swing, JavaFX & SWT 6
MiMa Selektion aus einer ListView AWT, Swing, JavaFX & SWT 5
N Frage zu ListView AWT, Swing, JavaFX & SWT 11
L JavaFX ListView Größe anpassen AWT, Swing, JavaFX & SWT 1
F JavaFX ListView füllen in Controller Class AWT, Swing, JavaFX & SWT 12
F JavaFX In SampleController ObservableList zu ListView hinzufügen AWT, Swing, JavaFX & SWT 0
D JavaFX ListView & TabelView AWT, Swing, JavaFX & SWT 9
F JavaFX Custom ListView erstellt ghost Element AWT, Swing, JavaFX & SWT 3
F JavaFX Von Datenbank in ListView AWT, Swing, JavaFX & SWT 4
F JavaFX ListView Zeilenhöhe AWT, Swing, JavaFX & SWT 2
M Auswahl aus einer ListView AWT, Swing, JavaFX & SWT 3
F Icons neben Text in Listview setzen AWT, Swing, JavaFX & SWT 2
K ListView right click AWT, Swing, JavaFX & SWT 1
Y Listview Textfield vergrößern, Schrift anpassen AWT, Swing, JavaFX & SWT 0
C Liste - ListView wird nicht angezeigt AWT, Swing, JavaFX & SWT 15
L JavaFX ListView oder TableView Style überschreiben? AWT, Swing, JavaFX & SWT 6
thobren listview seclect abschalten AWT, Swing, JavaFX & SWT 1
NoXiD Java FX JFX 2 DnD ListView AWT, Swing, JavaFX & SWT 3
T [JavaFX 2.0] ListView editieren AWT, Swing, JavaFX & SWT 2
berserkerdq2 Buttons und Shapes sehen ja nach Screengröße klein oder zu groß aus, jemand eine Idee, was man tun kann? AWT, Swing, JavaFX & SWT 1
W JEditorPane textausrichtung nach settext funktioniert nicht mehr AWT, Swing, JavaFX & SWT 11
H Swing Buttons erst nach Klick sichtbar AWT, Swing, JavaFX & SWT 13
H JavaFX Fenstergröße nach maximieren erkennen AWT, Swing, JavaFX & SWT 6
D Swing Komponenten nicht sichtbar nach Start AWT, Swing, JavaFX & SWT 12
T Elemente auf vorheriger Stage, nach Wechsel der Stage ansprechen AWT, Swing, JavaFX & SWT 32
berserkerdq2 Mein Rechteck hat 4 Seiten, ich soll je nach dem, welche Seite berührt wurde, etwas ausführen, wie prüfe ich das? AWT, Swing, JavaFX & SWT 12
Ernesto95 JavaFX Return Value nach Beendigung einer Animation AWT, Swing, JavaFX & SWT 15
K Textarea aktuallisiert sich nicht, nach Auswahl (Itemlistener) AWT, Swing, JavaFX & SWT 3
M Nach Export als Runnable Jar wird css nicht merh gefunden AWT, Swing, JavaFX & SWT 22
P kein Scrollen nach affinertransformation bei mouse dragged AWT, Swing, JavaFX & SWT 2
M Wieso verändert sich die Framerate nach erneutem Starten des AnimationTimer? AWT, Swing, JavaFX & SWT 18
N JavaFX Tableview nach Löschen von Element falscher Index AWT, Swing, JavaFX & SWT 4
B JavaFX TextInputDialog: Focus auf Eingabefeldinhalt setzen und nach OK Inhalt leeren AWT, Swing, JavaFX & SWT 5
VPChief Nach abspielen von Sound reagiert das Program nichtmehr AWT, Swing, JavaFX & SWT 9
VPChief Swing Eclipse: Nach Exportieren, Button funktioniert nicht mehr AWT, Swing, JavaFX & SWT 26
E Swing Componenten werden nach Änderung des display modes verzerrt dargestellt AWT, Swing, JavaFX & SWT 8
L JavaFX Exception nach includieren einer fxml // nested controller AWT, Swing, JavaFX & SWT 1
Zrebna Problem bei Eventhandling (Value soll nach jedem erneutem Klick gelöscht werden) AWT, Swing, JavaFX & SWT 4
R Swing JTextField - Schriftgröße je nach Länge und Größe ändern AWT, Swing, JavaFX & SWT 0
F AWT awt KeyEvent - Zeichen direkt nach Eingabe löschen AWT, Swing, JavaFX & SWT 2
L Komponenten eines Panels werden erst nach Klick darauf angezeigt AWT, Swing, JavaFX & SWT 13
K JavaFX Element in HBOX nach rechts verschieben AWT, Swing, JavaFX & SWT 2
S JavaFX Slider freezt nach Benutzung AWT, Swing, JavaFX & SWT 3
M Swing GUI wird nach invokeLater() langsam AWT, Swing, JavaFX & SWT 19
Fiedlerdan Image-Pfad Probleme nach Export aus Eclipse AWT, Swing, JavaFX & SWT 31
T JavaFX Nach Zoomen wird an falscher Stelle gezeichnet AWT, Swing, JavaFX & SWT 0
S Ausgabe aktualisiert sich nur nach 2. Klick AWT, Swing, JavaFX & SWT 17
F JavaFX Zustand der CheckMenuItems behalten nach Programmneustart AWT, Swing, JavaFX & SWT 7
J jButton soll nach klicken eine Variable um 1 erhöhen AWT, Swing, JavaFX & SWT 2
S Nach scrollen verschwindet das zuvor im JPanel gezeichnete AWT, Swing, JavaFX & SWT 2
stroggi Swing Suche nach Kurveneditor (UI-Element) AWT, Swing, JavaFX & SWT 1
Neumi5694 java.awt.Window nach javafx.stage.Window AWT, Swing, JavaFX & SWT 1
L Swing Komponenten erst nach Resize sichtbar AWT, Swing, JavaFX & SWT 2
F Swing Frame nach vorne holen AWT, Swing, JavaFX & SWT 2
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
S Swing JButton verschwindet nach Compilieren AWT, Swing, JavaFX & SWT 8
D JTable nach INSERT aktualisieren /refreshen AWT, Swing, JavaFX & SWT 1
robinab JavaFX TableView column resize nach setItems() AWT, Swing, JavaFX & SWT 0
MiMa Java, Maven Projekte nach JavaFX? AWT, Swing, JavaFX & SWT 3
S JavaFX Node soll auch nach Skalierung zentriert platziert sein AWT, Swing, JavaFX & SWT 3
J Suche nach einer horizontal aufklappbaren Toolbar AWT, Swing, JavaFX & SWT 1
Bluedaishi JTextArea gefundene Zeile nach Oben Scrollen AWT, Swing, JavaFX & SWT 13
MiMa Java Projekt nach JavaFX convertieren AWT, Swing, JavaFX & SWT 4
it_is_all JPanel verschwindet nach Button-Klick AWT, Swing, JavaFX & SWT 2
N Swing JButtons werden nach repaint() doppelt dargestellt AWT, Swing, JavaFX & SWT 12
U JavaFX Wechsel der Scene nach betätigen eines Button AWT, Swing, JavaFX & SWT 2
L JTextField erscheint erst nach Veränderung der Framegröße AWT, Swing, JavaFX & SWT 5
C Nach Aufruf von anderer Klasse streikt Grafik AWT, Swing, JavaFX & SWT 1
F AWT Robot Klasse Screenshot nach Pixelmustern in bestimmten Radius um Bildschirmmittelpunkt absuchen AWT, Swing, JavaFX & SWT 13
H Musik wird nach dem erstellen der .jar Datei nicht mehr abgespielt AWT, Swing, JavaFX & SWT 1
D iText PDF wird nach Neustart nicht importiert AWT, Swing, JavaFX & SWT 0
J Java FX Koordinaten NACH Animation setzen, wie? AWT, Swing, JavaFX & SWT 9
A Nach klick auf Button neuen Inhalt im gleichen Fenster AWT, Swing, JavaFX & SWT 3
Pr0m3theus Animation nach Event AWT, Swing, JavaFX & SWT 6
N Swing Abfrage durch JTextField nach Button betätigung AWT, Swing, JavaFX & SWT 3
S JTextArea Text nach oben wandern lassen AWT, Swing, JavaFX & SWT 7
Thallius JScrollPane Scrollpos setzen nach Neuzeichnen AWT, Swing, JavaFX & SWT 3
C JavaFX mehrere Kreise nach Eingabeprozess ausgeben AWT, Swing, JavaFX & SWT 2
J 2D-Grafik Linie wird nach Mausklick nicht am richtigen Ort gezeichnet AWT, Swing, JavaFX & SWT 11
C Memory Karten nach Paar offen bleiben sonst wieder umdrehen AWT, Swing, JavaFX & SWT 1
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
W Swing JPanel nur einmal nach mehreren Änderungen neu zeichnen AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben