Java FX Keine Anzeige Im Tableview

lusitano

Aktives Mitglied
Hallo Leute.
Ich habe hier eine Tableview, in dieser soll die Klasse Auto Angezeigt werden . Zum späteren eindeutigen Identifizieren des Objektes lasse ich ein Zähler intern hochzählen. Auch dieser Zähler soll in der Tableview Angezeigt werden (Wird es dann aber nicht ). Bei der Ausgabe über Sysout klappt es nur nicht beim anzeigen im Tableview.

Schon mal vielen Dank für eure Hilfe.

Hier mal der Code dazu
Controllerklasse:
Java:
package application;

import java.net.URL;
import java.util.ArrayList;
import java.util.ResourceBundle;
import javafx.fxml.Initializable;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;

public class DemoControll implements Initializable {

    // Initzialisiere Objekt vom Typ Auto
    Auto A1;
    // Arraylist erstellen vom Typ Auto
    ArrayList<Auto> autoListe = new ArrayList<Auto>();
    // Observablelist
    ObservableList<Auto> obAuto = FXCollections.observableArrayList();

    // Variablen in der GUI
    @FXML
    private Button btnAdd;

    @FXML
    private TextField tf_hersteller;

    @FXML
    private TextField tf_typ;

    @FXML
    private TextField tf_menge;

    @FXML
    private TextField tf_preis;

    @FXML
    private TableView<Auto> tvAuto;

    @FXML
    private TableColumn<Auto, String> col_hersteller;

    @FXML
    private TableColumn<Auto, String> col_typ;

    @FXML
    private TableColumn<Auto, Double> col_preis;

    @FXML
    private TableColumn<Auto, Integer> col_menge;

    @FXML
    private TableColumn<Auto, Integer> col_id;
   
    @Override
    public void initialize(URL arg0, ResourceBundle arg1) {
        // Daten in Col einfügen
        col_hersteller.setCellValueFactory(new PropertyValueFactory<Auto, String>("Hersteller"));
        col_typ.setCellValueFactory(new PropertyValueFactory<Auto, String>("Typ"));
        col_menge.setCellValueFactory(new PropertyValueFactory<Auto, Integer>("Menge"));
        col_preis.setCellValueFactory(new PropertyValueFactory<Auto, Double>("Preis"));
        col_id.setCellValueFactory(new PropertyValueFactory<Auto, Integer>("ID"));
       
        // Observablelist in Tableview übergeben
        tvAuto.setItems(obAuto);
    }

    int autoid = 0;

    // Button ADD Erzeuge Objekte, fülle Arraliste
    @FXML
    void btnAddObject(ActionEvent event) {
       
        autoid++;
       
        A1 = new Auto();

        A1.setHersteller(tf_hersteller.getText());
        A1.setTyp(tf_typ.getText());
        A1.setMenge(Integer.parseInt(tf_menge.getText()));
        A1.setPreis(Double.parseDouble(tf_preis.getText()));
        A1.setId(0);
        autoid = autoid + A1.getId();
        A1.setId(autoid);
       
        autoListe.add(A1);
       
        obAuto.setAll(autoListe);
       
        System.out.println(A1.getHersteller());
        System.out.println(A1.getTyp());
        System.out.println(A1.getMenge());
        System.out.println(A1.getPreis());
        System.out.println(A1.getId());
    }

   

}

Autoklasse:

Java:
package application;

import java.net.URL;
import java.util.ArrayList;
import java.util.ResourceBundle;
import javafx.fxml.Initializable;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;

public class DemoControll implements Initializable {

    // Initzialisiere Objekt vom Typ Auto
    Auto A1;
    // Arraylist erstellen vom Typ Auto
    ArrayList<Auto> autoListe = new ArrayList<Auto>();
    // Observablelist
    ObservableList<Auto> obAuto = FXCollections.observableArrayList();

    // Variablen in der GUI
    @FXML
    private Button btnAdd;

    @FXML
    private TextField tf_hersteller;

    @FXML
    private TextField tf_typ;

    @FXML
    private TextField tf_menge;

    @FXML
    private TextField tf_preis;

    @FXML
    private TableView<Auto> tvAuto;

    @FXML
    private TableColumn<Auto, String> col_hersteller;

    @FXML
    private TableColumn<Auto, String> col_typ;

    @FXML
    private TableColumn<Auto, Double> col_preis;

    @FXML
    private TableColumn<Auto, Integer> col_menge;

    @FXML
    private TableColumn<Auto, Integer> col_id;
   
    @Override
    public void initialize(URL arg0, ResourceBundle arg1) {
        // Daten in Col einfügen
        col_hersteller.setCellValueFactory(new PropertyValueFactory<Auto, String>("Hersteller"));
        col_typ.setCellValueFactory(new PropertyValueFactory<Auto, String>("Typ"));
        col_menge.setCellValueFactory(new PropertyValueFactory<Auto, Integer>("Menge"));
        col_preis.setCellValueFactory(new PropertyValueFactory<Auto, Double>("Preis"));
        col_id.setCellValueFactory(new PropertyValueFactory<Auto, Integer>("ID"));
       
        // Observablelist in Tableview übergeben
        tvAuto.setItems(obAuto);
    }

    int autoid = 0;

    // Button ADD Erzeuge Objekte, fülle Arraliste
    @FXML
    void btnAddObject(ActionEvent event) {
       
        autoid++;
       
        A1 = new Auto();

        A1.setHersteller(tf_hersteller.getText());
        A1.setTyp(tf_typ.getText());
        A1.setMenge(Integer.parseInt(tf_menge.getText()));
        A1.setPreis(Double.parseDouble(tf_preis.getText()));
        A1.setId(0);
        autoid = autoid + A1.getId();
        A1.setId(autoid);
       
        autoListe.add(A1);
       
        obAuto.setAll(autoListe);
       
        System.out.println(A1.getHersteller());
        System.out.println(A1.getTyp());
        System.out.println(A1.getMenge());
        System.out.println(A1.getPreis());
        System.out.println(A1.getId());
    }

   

}

Exception:

Java:
Nov. 05, 2018 6:10:51 NACHM. javafx.scene.control.cell.PropertyValueFactory getCellDataReflectively
WARNING: Can not retrieve property 'ID' in PropertyValueFactory: javafx.scene.control.cell.PropertyValueFactory@1d65ec52 with provided class type: class application.Auto
java.lang.IllegalStateException: Cannot read from unreadable property ID
    at javafx.base/com.sun.javafx.property.PropertyReference.get(Unknown Source)
    at javafx.controls/javafx.scene.control.cell.PropertyValueFactory.getCellDataReflectively(Unknown Source)
    at javafx.controls/javafx.scene.control.cell.PropertyValueFactory.call(Unknown Source)
    at javafx.controls/javafx.scene.control.cell.PropertyValueFactory.call(Unknown Source)
    at javafx.controls/javafx.scene.control.TableColumn.getCellObservableValue(Unknown Source)
    at javafx.controls/javafx.scene.control.TableColumn.getCellObservableValue(Unknown Source)
    at javafx.controls/javafx.scene.control.TableCell.updateItem(Unknown Source)
    at javafx.controls/javafx.scene.control.TableCell.indexChanged(Unknown Source)
    at javafx.controls/javafx.scene.control.IndexedCell.updateIndex(Unknown Source)
    at javafx.controls/javafx.scene.control.skin.TableRowSkinBase.updateCells(Unknown Source)
    at javafx.controls/javafx.scene.control.skin.TableRowSkinBase.<init>(Unknown Source)
    at javafx.controls/javafx.scene.control.skin.TableRowSkin.<init>(Unknown Source)
    at javafx.controls/javafx.scene.control.TableRow.createDefaultSkin(Unknown Source)
    at javafx.controls/javafx.scene.control.Control.doProcessCSS(Unknown Source)
    at javafx.controls/javafx.scene.control.Control.access$000(Unknown Source)
    at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Unknown Source)
    at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(Unknown Source)
    at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(Unknown Source)
    at javafx.graphics/javafx.scene.Node.processCSS(Unknown Source)
    at javafx.graphics/javafx.scene.Node.applyCss(Unknown Source)
    at javafx.controls/javafx.scene.control.skin.VirtualFlow.setCellIndex(Unknown Source)
    at javafx.controls/javafx.scene.control.skin.VirtualFlow.getCell(Unknown Source)
    at javafx.controls/javafx.scene.control.skin.VirtualFlow.getCellLength(Unknown Source)
    at javafx.controls/javafx.scene.control.skin.VirtualFlow.computeViewportOffset(Unknown Source)
    at javafx.controls/javafx.scene.control.skin.VirtualFlow.layoutChildren(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Scene.doLayoutPass(Unknown Source)
    at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Unknown Source)
    at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Unknown Source)
    at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Unknown Source)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(Unknown Source)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(Unknown Source)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(Unknown Source)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(Unknown Source)
    at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)
 

mihe7

Top Contributor
Schreib die Propertynamen klein, also z. B.
new PropertyValueFactory<Auto, String>("hersteller") statt new PropertyValueFactory<Auto, String>("Hersteller").
 

lusitano

Aktives Mitglied
Boar! Ich hab Stunden nach diesem Fehler gesucht.
Ich mache eine Umschulung zum Fachinformatiker und bin noch relativ neu:

Aber Danke dir recht herzlich. Hat funktioniert.
 

mihe7

Top Contributor
Das ist Teil der Java Beans Namenskonventionen. Propertynamen werden in lowerCamelCase angegeben. Hättest Du z. B. eine Methode getHerstellerPreis() gehabt, wäre der Propertyname "herstellerPreis" gewesen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Ollek JList - neuer Eintrag in ArrayList dadurch keine Anzeige der Objekte AWT, Swing, JavaFX & SWT 18
J Swing JTable, eigener TableCellRenderer Keine Anzeige in den Zellen AWT, Swing, JavaFX & SWT 8
T SWT Keine Anzeige der Widgets nach Comboauswahl AWT, Swing, JavaFX & SWT 2
G Keine Anzeige des Balkens AWT, Swing, JavaFX & SWT 3
G Keine Anzeige von Grafik bei externem paintComponent-Aufruf AWT, Swing, JavaFX & SWT 2
ExceptionOfExpectation JMenu, setMnemonic(Char k) bringt keine Wirkung AWT, Swing, JavaFX & SWT 8
V JavaFX Bild leer und keine Fehlermeldung AWT, Swing, JavaFX & SWT 21
S JavaFX WebView zeigt keine Animation AWT, Swing, JavaFX & SWT 5
ruutaiokwu SWT "Google Window Builder" tut keine jar's ins Projekt rein bei SWT-Projekt AWT, Swing, JavaFX & SWT 22
H String teilen, damit bei JLabel keine Punkte am Ende angezeigt werden AWT, Swing, JavaFX & SWT 4
richis-fragen JTree +/- verschwidet wenn Knoten keine Kinder hat... AWT, Swing, JavaFX & SWT 6
S java.fxml.load.exception und keine automatische Aktualliseriung der Mainausgabe AWT, Swing, JavaFX & SWT 5
F JList zeigt keine Einträge mehr AWT, Swing, JavaFX & SWT 1
G Swing JButton - Keine Klickanimation AWT, Swing, JavaFX & SWT 4
G JavaFX - Während AudioRecording keine Text eingabe TextField möglich AWT, Swing, JavaFX & SWT 6
N Swing JFormattedTextField keine Werte nach Formatzuweisung AWT, Swing, JavaFX & SWT 0
C Swing JList zeigt keine neuen Einträge an AWT, Swing, JavaFX & SWT 1
X Swing Anwendung regaiert auf keine Buttons mehr wärend while(scanner.hasNextLine()) ausgeführt wird. AWT, Swing, JavaFX & SWT 4
D Swing keine JLabel-Aktualisierung bei "externem" Aufruf durch Helferklasse AWT, Swing, JavaFX & SWT 10
D Swing Warum erhalte ich keine Ausgabe? Funktioniert der equals-vergleich in actionPeformed nicht richtig? AWT, Swing, JavaFX & SWT 3
K Swing Keine Reaktion auf Tastatureingaben bei mehreren Buttons??? AWT, Swing, JavaFX & SWT 4
gamebreiti auf usereingabe warten mit GUI(nur Labels, Buttons etc. keine Texteingaben) AWT, Swing, JavaFX & SWT 3
P Swing JTable keine Markierung nach Button klick AWT, Swing, JavaFX & SWT 0
U Frame zeigt keine Komponenten AWT, Swing, JavaFX & SWT 7
H RCP(SWT) Browser-Widget zeigt keine locale HTML-Dateien an AWT, Swing, JavaFX & SWT 1
N JavaFX Keine Dynamic AWT, Swing, JavaFX & SWT 2
W Swing Ausführung einer .jar zeigt keine Reaktion AWT, Swing, JavaFX & SWT 4
D Swing JList keine Selektionsänderung bei "dragged-Maus" AWT, Swing, JavaFX & SWT 4
N Swing JTable mit Sorter: Keine Sortierung bei Klick in Header AWT, Swing, JavaFX & SWT 3
A trotz setSize keine breite AWT, Swing, JavaFX & SWT 4
Q JTable - Keine Spaltennamen AWT, Swing, JavaFX & SWT 3
H Swing Keine Rückmeldung (freeze) bei setVisible(false) oder dispose() AWT, Swing, JavaFX & SWT 4
B JEditorPane lädt keine Schriftfarbe in HTML AWT, Swing, JavaFX & SWT 2
dzim TableView - keine Aktualisierung geänderter Items AWT, Swing, JavaFX & SWT 5
E Keine Ausgabe auf Console und List AWT, Swing, JavaFX & SWT 13
Kenan89 statischer ActionListener keine Wirkung? AWT, Swing, JavaFX & SWT 2
Kenan89 statischer ActionListener keine Wirkung? AWT, Swing, JavaFX & SWT 3
N Swing Netbeans 7.1 keine DesktopApplication mehr möglich ? AWT, Swing, JavaFX & SWT 15
H JTable zeigt keine Daten an AWT, Swing, JavaFX & SWT 5
C Swing JFrame nimmt keine anderen Elemente auf AWT, Swing, JavaFX & SWT 13
K Applet Wieso kann ich keine Array im Applet initialisieren AWT, Swing, JavaFX & SWT 13
A Swing JTable benutzt keine Checkbox für Booleans AWT, Swing, JavaFX & SWT 9
M Swing Focus für Buttons deaktiviert --> keine Reaktion mehr auf Tastendrücke AWT, Swing, JavaFX & SWT 5
E Keine Ausgabe von JList bei drücken von Button auf die Konsole AWT, Swing, JavaFX & SWT 7
C MouseMotionListener fired keine Events mehr wenn in Button AWT, Swing, JavaFX & SWT 2
D Fenster will keine Ausgabe geben>:( AWT, Swing, JavaFX & SWT 3
K Applet erkennt keine Frameverkleinerung AWT, Swing, JavaFX & SWT 5
O keine ähnliche Farben durch Random in Java AWT, Swing, JavaFX & SWT 21
N JFileChooser - Keine Funtkion AWT, Swing, JavaFX & SWT 13
P Kennt awt.list keine Tastatureingabe? AWT, Swing, JavaFX & SWT 3
Y LayoutManager Keine vollständige Darstellung der Tabelle mit GridBagLayout AWT, Swing, JavaFX & SWT 3
H Swing JScrollPane bekommt keine ScrollBars AWT, Swing, JavaFX & SWT 5
bluerob Nach RowSorter -> Keine Tabellenüberschreibung möglich AWT, Swing, JavaFX & SWT 7
V JTextField nimmt keine Eingaben an, nach nachträglichem setVisible des JWindows AWT, Swing, JavaFX & SWT 4
aze JTextField:Keine Markierung AWT, Swing, JavaFX & SWT 6
D Swing keine Tabellen Zeilen ohne Focus AWT, Swing, JavaFX & SWT 7
C keine weiteren Events während Drag&Drop Operation möglich? AWT, Swing, JavaFX & SWT 5
Fu3L Keine Transparenten JTextComponents möglich mit Nimbus L&F? AWT, Swing, JavaFX & SWT 5
P 2D-Grafik PaintComponent() übernimmt keine Werte aus update() AWT, Swing, JavaFX & SWT 8
earlgrey_tea AWT KeyListener bekommt keine Signale AWT, Swing, JavaFX & SWT 3
B LayoutManager mischen keine gute Idee? AWT, Swing, JavaFX & SWT 9
O Swing es können keine neuen Labels hinzufügt werden während der Timer läuft AWT, Swing, JavaFX & SWT 14
B JScrollbarPane zeigt keine scrollbars AWT, Swing, JavaFX & SWT 2
I Panel scheint keine Größe zu haben AWT, Swing, JavaFX & SWT 3
aze GridLayout: Keine automatische Ausdehnung AWT, Swing, JavaFX & SWT 2
1 JFrame bleibt leer, keine Ahnung warum AWT, Swing, JavaFX & SWT 7
M SWT keine Scrollbar bei widgets.List und GridLayout AWT, Swing, JavaFX & SWT 2
P SWT Tree - Keine Selection zulassen AWT, Swing, JavaFX & SWT 4
1 GeneralPath-Kreise werden keine Kreise AWT, Swing, JavaFX & SWT 2
hdi Swing setPreferredSize zeigt keine Änderung AWT, Swing, JavaFX & SWT 2
R AWT [Anfänger] keine atives Aussehen von Buttons AWT, Swing, JavaFX & SWT 4
S Seltsames Problem - manchmal enthaelt die ActionMap eine JTextArea keine Actions. AWT, Swing, JavaFX & SWT 4
A SWT Table hat keine Scrollbar AWT, Swing, JavaFX & SWT 12
B Keine Änderungen an JLabel durch Array möglich AWT, Swing, JavaFX & SWT 12
C Frame repaint hat keine Wirkung AWT, Swing, JavaFX & SWT 6
L Swing JPanel sendet keine KeyEvents AWT, Swing, JavaFX & SWT 22
J Swing - ich sehe keine Linie, andere schon AWT, Swing, JavaFX & SWT 6
S JDialog gibt keine Nachrichten ueber sein Schliessen..? AWT, Swing, JavaFX & SWT 3
C JTextArea zeigt keine Scrollbalken AWT, Swing, JavaFX & SWT 18
B Heavyweight Popup lässt keine MouseEvents durch AWT, Swing, JavaFX & SWT 2
K JDialog zeigt keine Komponenten wenn es modal ist AWT, Swing, JavaFX & SWT 2
S Seltsam: SWT Table zeigt keine Scrollbar an AWT, Swing, JavaFX & SWT 12
V JTabbedPane - keine "Focus"-Box auf selektiertem T AWT, Swing, JavaFX & SWT 2
G JTable zeigt keine Spaltenheader AWT, Swing, JavaFX & SWT 7
L JDialog-kann keine Größe setzen AWT, Swing, JavaFX & SWT 4
F Thread macht keine Pause AWT, Swing, JavaFX & SWT 22
W Threads und trotzdem keine Nebenläufigkeit AWT, Swing, JavaFX & SWT 13
F JScrollPane mit JPanel drinne zeigt keine Scroll-Leisten AWT, Swing, JavaFX & SWT 7
K keine Zeichenfläche sichtbar AWT, Swing, JavaFX & SWT 2
J ActionListener nimmt keine for()-Schleife? AWT, Swing, JavaFX & SWT 4
M JDialog + JFrame + keine Java Tasse AWT, Swing, JavaFX & SWT 9
G keine ScaledInstance von BufferedImage? AWT, Swing, JavaFX & SWT 6
Z habe code, habe fehler, habe keine lösung AWT, Swing, JavaFX & SWT 7
C Jar Datei ist ausführbar aber zeigt keine icon's an AWT, Swing, JavaFX & SWT 18
S JList gibt nach Sortierung mit Collections keine Anzahl mehr AWT, Swing, JavaFX & SWT 3
N Trotz richtiger ListSelectionMode kann ich keine Zeile sel? AWT, Swing, JavaFX & SWT 4
technolion FileDialog/keine Multi-Selektion vs. JFileCHooser/kein LaF AWT, Swing, JavaFX & SWT 2
S getSize gibt keine Größe wieder AWT, Swing, JavaFX & SWT 4
K Keine SWT-Komponenten-Gruppe in Palette des Visual Editor AWT, Swing, JavaFX & SWT 2
M Keine Buttons oder sonstige Objekte in JFrame unter Linux AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben