ClassCastException from DoubleStringConverter
Andrew Munn
andrew at nmedia.net
Wed Apr 3 02:22:37 UTC 2019
And if I change the column to String I get this:
myColumn.setCellFactory(TextFieldTableCell.forTableColumn());
Exception in thread "JavaFX Application Thread" java.lang.ClassCastException: class java.lang.Integer cannot be cast to
class java.lang.String (java.lang.Integer and java.lang.String are in module java.base of loader 'bootstrap')
On Tue, 2 Apr 2019, Andrew Munn wrote:
> This happens in FX 11.0.2 and 12. I declare a column for Doubles...
>
> @FXML
> private TableColumn<Whatever, Double> myColumn;
>
> When I add this code:
> myColumn.setCellFactory(TextFieldTableCell.forTableColumn(new DoubleStringConverter()));
>
> I get this exception:
>
> Exception in thread "JavaFX Application Thread"
> java.lang.ClassCastException: class java.lang.Integer cannot be cast to
> class java.lang.Double (java.lang.Integer and java.lang.Double are in
> module java.base of loader 'bootstrap')
> at javafx.base/javafx.util.converter.DoubleStringConverter.toString(DoubleStringConverter.java:35)
> at javafx.controls/javafx.scene.control.cell.CellUtils.getItemText(CellUtils.java:107)
> at javafx.controls/javafx.scene.control.cell.CellUtils.updateItem(CellUtils.java:208)
> at javafx.controls/javafx.scene.control.cell.TextFieldTableCell.updateItem(TextFieldTableCell.java:211)
> at javafx.controls/javafx.scene.control.TableCell.updateItem(TableCell.java:665)
> at javafx.controls/javafx.scene.control.TableCell.indexChanged(TableCell.java:469)
> at javafx.controls/javafx.scene.control.IndexedCell.updateIndex(IndexedCell.java:120)
> at javafx.controls/javafx.scene.control.skin.TableRowSkinBase.updateCells(TableRowSkinBase.java:539)
> at javafx.controls/javafx.scene.control.skin.TableRowSkinBase.<init>(TableRowSkinBase.java:159)
> at javafx.controls/javafx.scene.control.skin.TableRowSkin.<init>(TableRowSkin.java:89)
> at javafx.controls/javafx.scene.control.TableRow.createDefaultSkin(TableRow.java:213)
> at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897)
> at javafx.controls/javafx.scene.control.Control.access$000(Control.java:83)
> at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
> at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
> at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
> at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9529)
> at javafx.graphics/javafx.scene.Node.applyCss(Node.java:9616)
> at javafx.controls/javafx.scene.control.skin.VirtualFlow.setCellIndex(VirtualFlow.java:1715)
> at javafx.controls/javafx.scene.control.skin.VirtualFlow.getCell(VirtualFlow.java:1692)
> at javafx.controls/javafx.scene.control.skin.VirtualFlow.getCellLength(VirtualFlow.java:1801)
> at javafx.controls/javafx.scene.control.skin.VirtualFlow.computeViewportOffset(VirtualFlow.java:2639)
> at javafx.controls/javafx.scene.control.skin.VirtualFlow.layoutChildren(VirtualFlow.java:1245)
> at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1204)
> at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211)
> at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211)
> at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211)
> at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211)
> at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211)
> at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211)
> at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211)
> at javafx.graphics/javafx.scene.Scene.doLayoutPass(Scene.java:576)
> at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2482)
> at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:412)
> at java.base/java.security.AccessController.doPrivileged(Native Method)
> at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:411)
> at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:438)
> at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:519)
> at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:499)
> at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:492)
> at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:320)
> at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
> at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
> at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
> at java.base/java.lang.Thread.run(Thread.java:834)
>
More information about the openjfx-dev
mailing list