Ich erstelle einen Nahrungsmittelrechner in Java (JavaFX), der Lebensmittelelemente wie Protein, Kohlenhydrate und Fett (alle TableView Tabellenspalten) neu berechnen kann, wenn Der Benutzer bestätigt eine Bearbeitung in der TableView.JavaFX - Ich verstehe nicht, wie ich meine TableView editierbar machen kann
Ich weiß nicht, wie ich meine Tabellenzellen editierbar machen kann. Ich verstehe die Dokumentation überhaupt nicht.
So erstelle ich meine Spalten. Ich habe gelesen, dass ich die setCellValueFactory
zu ändern sollte, aber ich habe keine Ahnung, warum oder was als Parameter an diese Funktion übergeben werden sollte. Wo würde ich dann die Lebensmittelfelder dem Tisch zuordnen?
TableColumn<Food, Float> tableFoodFat = new TableColumn<>("Fat");
tableFoodFat.setCellValueFactory(new PropertyValueFactory<>("fat"));
tableFoodFat.setMinWidth(100);
Ich bin wirklich verwirrt. Könnte mir hier jemand mit einer Antwort in einfachen Worten helfen? Ich kann den Code selbst schreiben, ich muss nur verstehen, was und warum ich es ändern sollte.
EDIT: Dies funktioniert für Spalten String Daten enthalten - tableFoodTitle.setCellFactory(TextFieldTableCell.<Food>forTableColumn());
aber es wirft einen Fehler, wenn ich dieses Konzept versuchen mit Float-Daten auf Spalten zu verwenden.
ich dies dann: 'inkompatible Typen: keine Instanz (en) des Typs Variable (n) S so existieren, dass Callback
> Entspricht Rückruf, Tablecell > wobei S a Typ-Variable: S erweitert Objekt
forTableColumn in Methode deklariert() ' –
+0
+0
Letzte Frage
-
1. Gleiches Layout - Eindeutige Klassennamen mit Oktober-CMS
-
2. Verfolgen von Nachrichten, die an Knoten in einem Cluster gesendet werden
-
3. Wird STL size() auf konstanter Komplexität oder Linear ausgeführt?
-
4. Datensatz löschen mit PHP Eingabeaufforderung bestätigen
-
5. globale Variablen (Kommunikation zwischen den Komponenten in react.js
-
6. Wie finden Sie den laufenden SQL Server-Port, wenn Sie den Server nicht besitzen?
-
7. wpf gridview hat keine Zeile ausgewählt Ereignis
-
8. PHP ausgewählten Kategorien und Zählnummer
-
9. KCF Tracker in OpenCV 3.1.0 - keine Ausgabe, kein Fehler gemeldet
-
10. Tage zu PHP Variable hinzufügen
- Keine verwandten Themen^_^
Ja, Sie haben Float nicht String wie ich gesendet ... versuchen, diese ... tableFoodFat.setCellFactory (TextFieldTableCell.forTableColumn (FloatStringConverter)); tableFoodFat.setOnEditCommit (new Eventhandler>() { @Override public void Griff (CellEditEvent t) { ((Food) t.getTableView(). GetItems(). Get (t.getTablePosition(). getRow())). setFOODFAT (t.getNewValue()); } }); –
Rubens
Danke, aber ich denke, ich habe es selbst herausgefunden, ich habe 'floatStringConverter()' nur an die 'forTableColumn' -Funktion übergeben und jetzt funktioniert es. Wenn es in jedem Teil meiner Software funktioniert, werde ich mit meiner Methode gehen und sie als Antwort hier posten. Wenn es irgendwo fehlschlägt, werde ich Ihre Lösung versuchen. –
Verwandte Themen