JavaFXTableView错误

JavaFXTableView错误,javafx,tableview,Javafx,Tableview,我是JavaFX新手。我正在使用TableView,并试图将用户从用户名和密码字段输入的数据放入表中。这只是一个测试程序。我得到下面的错误 SEVERE: javafx.scene.control.Control loadSkinClass Failed to load skin 'StringProperty [bean: TableRow[id=null, styleClass=cell indexed-cell table-row-cell], name: skinClassName, v

我是JavaFX新手。我正在使用TableView,并试图将用户从用户名和密码字段输入的数据放入表中。这只是一个测试程序。我得到下面的错误

SEVERE: javafx.scene.control.Control loadSkinClass Failed to load skin 'StringProperty [bean: TableRow[id=null, styleClass=cell indexed-cell table-row-cell], name: skinClassName, value: com.sun.javafx.scene.control.skin.TableRowSkin]' for control TableRow[id=null, styleClass=cell indexed-cell table-row-cell]
java.lang.ClassCastException: javafx.scene.control.TableColumn cannot be cast to javafx.scene.control.TableColumn$CellDataFeatures
    at javafx.scene.control.cell.PropertyValueFactory.call(PropertyValueFactory.java:93)
    at com.sun.javafx.scene.control.skin.TableRowSkin.recreateCells(TableRowSkin.java:224)
    at com.sun.javafx.scene.control.skin.TableRowSkin.<init>(TableRowSkin.java:87)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at javafx.scene.control.Control.loadSkinClass(Control.java:992)
    at javafx.scene.control.Control.access$500(Control.java:71)
    at javafx.scene.control.Control$12.invalidated(Control.java:920)
    at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:127)
    at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:161)
    at com.sun.javafx.css.StyleableStringProperty.set(StyleableStringProperty.java:71)
    at javafx.scene.control.Control$12.set(Control.java:912)
    at com.sun.javafx.css.StyleableStringProperty.applyStyle(StyleableStringProperty.java:59)
    at com.sun.javafx.css.StyleableStringProperty.applyStyle(StyleableStringProperty.java:31)
    at com.sun.javafx.css.StyleableProperty.set(StyleableProperty.java:70)
    at com.sun.javafx.css.StyleHelper.transitionToState(StyleHelper.java:902)
    at javafx.scene.Node.impl_processCSS(Node.java:7415)
    at javafx.scene.Parent.impl_processCSS(Parent.java:1146)
    at javafx.scene.control.Control.impl_processCSS(Control.java:1102)
    at com.sun.javafx.scene.control.skin.VirtualFlow.setCellIndex(VirtualFlow.java:1598)
    at com.sun.javafx.scene.control.skin.VirtualFlow.getCell(VirtualFlow.java:1500)
    at com.sun.javafx.scene.control.skin.VirtualFlow.getCellLength(VirtualFlow.java:1523)
    at com.sun.javafx.scene.control.skin.VirtualFlow$3.call(VirtualFlow.java:478)
    at com.sun.javafx.scene.control.skin.VirtualFlow$3.call(VirtualFlow.java:476)
    at com.sun.javafx.scene.control.skin.PositionMapper.computeViewportOffset(PositionMapper.java:143)
    at com.sun.javafx.scene.control.skin.VirtualFlow.layoutChildren(VirtualFlow.java:1001)
    at javafx.scene.Parent.layout(Parent.java:1018)
    at javafx.scene.Parent.layout(Parent.java:1028)
    at javafx.scene.Parent.layout(Parent.java:1028)
    at javafx.scene.Parent.layout(Parent.java:1028)
    at javafx.scene.Scene.layoutDirtyRoots(Scene.java:513)
    at javafx.scene.Scene.doLayoutPass(Scene.java:484)
    at javafx.scene.Scene.access$3900(Scene.java:169)
    at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2199)
    at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:363)
    at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:460)
    at com.sun.javafx.tk.quantum.QuantumToolkit$9.run(QuantumToolkit.java:329)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:29)
    at com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:73)
    at java.lang.Thread.run(Thread.java:722)
SEVERE:javafx.scene.control.control-loadSkinClass未能为控件表行[id=null,styleClass=cell-indexed cell-table-row cell]加载skin'StringProperty[bean:TableRow[id=null,styleClass=cell-indexed cell-table-row cell],name:skinClassName,value:com.sun.javafx.scene.control.skin.TableRowSkin]'
java.lang.ClassCastException:javafx.scene.control.TableColumn不能强制转换为javafx.scene.control.TableColumn$CellDataFeatures
位于javafx.scene.control.cell.PropertyValueFactory.call(PropertyValueFactory.java:93)
位于com.sun.javafx.scene.control.skin.TableRowSkin.recreateCells(TableRowSkin.java:224)
位于com.sun.javafx.scene.control.skin.TableRowSkin.(TableRowSkin.java:87)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:525)
位于javafx.scene.control.control.loadSkinClass(control.java:992)
位于javafx.scene.control.control.access$500(control.java:71)
位于javafx.scene.control.control$12.invalidated(control.java:920)
位于javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:127)
位于javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:161)
位于com.sun.javafx.css.StyleableStringProperty.set(StyleableStringProperty.java:71)
位于javafx.scene.control.control$12.set(control.java:912)
位于com.sun.javafx.css.StyleableStringProperty.applyStyle(StyleableStringProperty.java:59)
位于com.sun.javafx.css.StyleableStringProperty.applyStyle(StyleableStringProperty.java:31)
位于com.sun.javafx.css.StyleableProperty.set(StyleableProperty.java:70)
位于com.sun.javafx.css.StyleHelper.TransitionState(StyleHelper.java:902)
位于javafx.scene.Node.impl_processCSS(Node.java:7415)
位于javafx.scene.Parent.impl_processCSS(Parent.java:1146)
位于javafx.scene.control.control.impl_processCSS(control.java:1102)
位于com.sun.javafx.scene.control.skin.VirtualFlow.setCellIndex(VirtualFlow.java:1598)
位于com.sun.javafx.scene.control.skin.VirtualFlow.getCell(VirtualFlow.java:1500)
位于com.sun.javafx.scene.control.skin.VirtualFlow.getCellLength(VirtualFlow.java:1523)
位于com.sun.javafx.scene.control.skin.VirtualFlow$3.call(VirtualFlow.java:478)
位于com.sun.javafx.scene.control.skin.VirtualFlow$3.call(VirtualFlow.java:476)
位于com.sun.javafx.scene.control.skin.PositionMapper.computeViewportOffset(PositionMapper.java:143)
位于com.sun.javafx.scene.control.skin.VirtualFlow.layoutChildren(VirtualFlow.java:1001)
位于javafx.scene.Parent.layout(Parent.java:1018)
位于javafx.scene.Parent.layout(Parent.java:1028)
位于javafx.scene.Parent.layout(Parent.java:1028)
位于javafx.scene.Parent.layout(Parent.java:1028)
位于javafx.scene.scene.layoutDirtyRoots(scene.java:513)
位于javafx.scene.scene.doLayoutPass(scene.java:484)
在javafx.scene.scene.access$3900(scene.java:169)
位于javafx.scene.scene$ScenePulseListener.pulse(scene.java:2199)
位于com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:363)
位于com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:460)
位于com.sun.javafx.tk.quantum.QuantumToolkit$9.run(QuantumToolkit.java:329)
在com.sun.glass.ui.win.WinApplication.\u runLoop(本机方法)
com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:29)
位于com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:73)
运行(Thread.java:722)

您可以尝试下面的链接,它工作正常。要获得进一步的帮助,您必须提供代码。

了解更多信息。我也有同样的例外。我发现在设置TableColumn实例时需要调用“setCellValueFactory”方法。我错误地调用了“setCellFactory”。

因为您指定了如何填充列的值,请确保使用setCell工厂方法。

这也解决了我的问题。我错误地做了同样的事情。只是犯了同样的错误。非常感谢你指出这个错误:)