Using this code:
/*
* Main.fx
*
* Created on Jul 5, 2010, 5:24:33 PM
*/
package trashme;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.text.Text;
import javafx.scene.text.Font;
import javafx.scene.control.TextBox;
import javafx.scene.layout.LayoutInfo;
import javafx.scene.paint.Color;
import com.sun.javafx.scene.control.caspian.TextBoxSkin;
/**
* @author lavoie
*/
Stage {
title: "Application title"
scene: Scene {
width: 250
height: 80
content: [
Text {
font : Font {
size : 16
}
x: 10
y: 30
content: "Application content"
},
TextBox
{
layoutInfo: LayoutInfo{width: 100};
selectOnFocus: true
promptText: "woopeedoo"
skin: TextBoxSkin
{
//backgroundFill: Color.YELLOW
borderFill: Color.TRANSPARENT //Color.BLACK
borderWidth: 0
//caretFill: Color.BLUE
focusFill: Color.TRANSPARENT
//highlightFill: Color.DARKBLUE
promptTextFill: Color.GRAY
//selectedTextFill: Color.WHITE
shadowFill: Color.TRANSPARENT
textFill: Color.BLACK
}
}
]
}
}
The following exceptions are thrown when pasting larger-than-field blocks of text (eg, 1k block of text):
Exception in trigger:
java.lang.IllegalArgumentException: TextHitInfo is out of range
at java.awt.font.TextLayout.checkTextHit(TextLayout.java:753)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1761)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1779)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:939)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:495)
at javafx.scene.text.Text.updateDecorationShapes(Text.fx:328)
at javafx.scene.text.Text$_SBECL.onChange(Text.fx:298)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:146)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.IntVariable.setAsInt(IntVariable.java:113)
at javafx.scene.text.Text.set$impl_caretPosition(Text.fx:296)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$_SBECL.onChange(TextBoxSkin.fx:229)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:146)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.AbstractBindingExpression.pushValue(AbstractBindingExpression.java:82)
at com.sun.javafx.runtime.location.AbstractBindingExpression.pushFrom(AbstractBindingExpression.java:106)
at com.sun.javafx.runtime.location.Locations$7.compute(Locations.java:283)
at com.sun.javafx.runtime.location.AbstractVariable.update(AbstractVariable.java:128)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:142)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:140)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.IntVariable.setAsInt(IntVariable.java:113)
at javafx.scene.control.TextBox.set$dot(TextBox.fx:71)
at javafx.scene.control.TextBox.selectRange(TextBox.fx:426)
at javafx.scene.control.TextBox.replaceSelection(TextBox.fx:516)
at javafx.scene.control.TextBox.paste(TextBox.fx:139)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior.callActionForEvent(TextBoxSkin.fx:833)
at javafx.scene.control.Control.impl_processKeyEvent(Control.fx:151)
at javafx.scene.Scene$KeyHandler.process(Scene.fx:765)
at javafx.scene.Scene.impl_processKeyEvent(Scene.fx:420)
at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.fx:523)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.doKeyEvent(SwingScene.java:428)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.keyPressed(SwingScene.java:432)
at java.awt.Component.processKeyEvent(Component.java:6306)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2801)
at java.awt.Component.processEvent(Component.java:6125)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
at java.awt.Component.dispatchEventImpl(Component.java:4586)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in trigger:
java.lang.IllegalArgumentException: TextHitInfo is out of range
at java.awt.font.TextLayout.checkTextHit(TextLayout.java:753)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1761)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1779)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:939)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:495)
at javafx.scene.text.Text.updateDecorationShapes(Text.fx:328)
at javafx.scene.text.Text$_SBECL.onChange(Text.fx:252)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:146)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.AbstractBindingExpression.pushValue(AbstractBindingExpression.java:82)
at com.sun.javafx.runtime.location.IntVariable$1.compute(IntVariable.java:104)
at com.sun.javafx.runtime.location.AbstractVariable.update(AbstractVariable.java:128)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:142)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.AbstractLocation.invalidate(AbstractLocation.java:108)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:140)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.AbstractLocation.invalidate(AbstractLocation.java:108)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:140)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:140)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.IntVariable.setAsInt(IntVariable.java:113)
at javafx.scene.control.TextBox.set$dot(TextBox.fx:71)
at javafx.scene.control.TextBox.selectRange(TextBox.fx:426)
at javafx.scene.control.TextBox.replaceSelection(TextBox.fx:516)
at javafx.scene.control.TextBox.paste(TextBox.fx:139)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior.callActionForEvent(TextBoxSkin.fx:833)
at javafx.scene.control.Control.impl_processKeyEvent(Control.fx:151)
at javafx.scene.Scene$KeyHandler.process(Scene.fx:765)
at javafx.scene.Scene.impl_processKeyEvent(Scene.fx:420)
at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.fx:523)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.doKeyEvent(SwingScene.java:428)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.keyPressed(SwingScene.java:432)
at java.awt.Component.processKeyEvent(Component.java:6306)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2801)
at java.awt.Component.processEvent(Component.java:6125)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
at java.awt.Component.dispatchEventImpl(Component.java:4586)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in trigger:
java.lang.IllegalArgumentException: TextHitInfo is out of range
at java.awt.font.TextLayout.checkTextHit(TextLayout.java:753)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1761)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1779)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:939)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:495)
at javafx.scene.text.Text.updateDecorationShapes(Text.fx:328)
at javafx.scene.text.Text$_SBECL.onChange(Text.fx:263)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:146)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.AbstractBindingExpression.pushValue(AbstractBindingExpression.java:82)
at com.sun.javafx.runtime.location.IntVariable$1.compute(IntVariable.java:104)
at com.sun.javafx.runtime.location.AbstractVariable.update(AbstractVariable.java:128)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:142)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.AbstractLocation.invalidate(AbstractLocation.java:108)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:140)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.AbstractLocation.invalidate(AbstractLocation.java:108)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:140)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:140)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.IntVariable.setAsInt(IntVariable.java:113)
at javafx.scene.control.TextBox.set$dot(TextBox.fx:71)
at javafx.scene.control.TextBox.selectRange(TextBox.fx:426)
at javafx.scene.control.TextBox.replaceSelection(TextBox.fx:516)
at javafx.scene.control.TextBox.paste(TextBox.fx:139)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior.callActionForEvent(TextBoxSkin.fx:833)
at javafx.scene.control.Control.impl_processKeyEvent(Control.fx:151)
at javafx.scene.Scene$KeyHandler.process(Scene.fx:765)
at javafx.scene.Scene.impl_processKeyEvent(Scene.fx:420)
at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.fx:523)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.doKeyEvent(SwingScene.java:428)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.keyPressed(SwingScene.java:432)
at java.awt.Component.processKeyEvent(Component.java:6306)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2801)
at java.awt.Component.processEvent(Component.java:6125)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
at java.awt.Component.dispatchEventImpl(Component.java:4586)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in trigger:
java.lang.IllegalArgumentException: TextHitInfo is out of range
at java.awt.font.TextLayout.checkTextHit(TextLayout.java:753)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1761)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1779)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:939)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:495)
at javafx.scene.text.Text.updateDecorationShapes(Text.fx:328)
at javafx.scene.text.Text$_SBECL.onChange(Text.fx:252)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:146)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.AbstractBindingExpression.pushValue(AbstractBindingExpression.java:82)
at com.sun.javafx.runtime.location.IntVariable$1.compute(IntVariable.java:104)
at com.sun.javafx.runtime.location.AbstractVariable.update(AbstractVariable.java:128)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:142)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.AbstractLocation.invalidate(AbstractLocation.java:108)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:140)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.AbstractLocation.invalidate(AbstractLocation.java:108)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:140)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:140)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.IntVariable.setAsInt(IntVariable.java:113)
at javafx.scene.control.TextBox.set$mark(TextBox.fx:80)
at javafx.scene.control.TextBox.selectRange(TextBox.fx:427)
at javafx.scene.control.TextBox.replaceSelection(TextBox.fx:516)
at javafx.scene.control.TextBox.paste(TextBox.fx:139)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior.callActionForEvent(TextBoxSkin.fx:833)
at javafx.scene.control.Control.impl_processKeyEvent(Control.fx:151)
at javafx.scene.Scene$KeyHandler.process(Scene.fx:765)
at javafx.scene.Scene.impl_processKeyEvent(Scene.fx:420)
at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.fx:523)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.doKeyEvent(SwingScene.java:428)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.keyPressed(SwingScene.java:432)
at java.awt.Component.processKeyEvent(Component.java:6306)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2801)
at java.awt.Component.processEvent(Component.java:6125)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
at java.awt.Component.dispatchEventImpl(Component.java:4586)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in trigger:
java.lang.IllegalArgumentException: TextHitInfo is out of range
at java.awt.font.TextLayout.checkTextHit(TextLayout.java:753)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1761)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1779)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:939)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:495)
at javafx.scene.text.Text.updateDecorationShapes(Text.fx:328)
at javafx.scene.text.Text$_SBECL.onChange(Text.fx:263)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:146)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.AbstractBindingExpression.pushValue(AbstractBindingExpression.java:82)
at com.sun.javafx.runtime.location.IntVariable$1.compute(IntVariable.java:104)
at com.sun.javafx.runtime.location.AbstractVariable.update(AbstractVariable.java:128)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:142)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.AbstractLocation.invalidate(AbstractLocation.java:108)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:140)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.AbstractLocation.invalidate(AbstractLocation.java:108)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:140)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:140)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.IntVariable.setAsInt(IntVariable.java:113)
at javafx.scene.control.TextBox.set$mark(TextBox.fx:80)
at javafx.scene.control.TextBox.selectRange(TextBox.fx:427)
at javafx.scene.control.TextBox.replaceSelection(TextBox.fx:516)
at javafx.scene.control.TextBox.paste(TextBox.fx:139)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior.callActionForEvent(TextBoxSkin.fx:833)
at javafx.scene.control.Control.impl_processKeyEvent(Control.fx:151)
at javafx.scene.Scene$KeyHandler.process(Scene.fx:765)
at javafx.scene.Scene.impl_processKeyEvent(Scene.fx:420)
at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.fx:523)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.doKeyEvent(SwingScene.java:428)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.keyPressed(SwingScene.java:432)
at java.awt.Component.processKeyEvent(Component.java:6306)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2801)
at java.awt.Component.processEvent(Component.java:6125)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
at java.awt.Component.dispatchEventImpl(Component.java:4586)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Were been having these issues on all platforms (Max OS X 10.6, Win7 and Ubuntu something something rather) in a large application but even this simple code above reproduces this issue.
/*
* Main.fx
*
* Created on Jul 5, 2010, 5:24:33 PM
*/
package trashme;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.text.Text;
import javafx.scene.text.Font;
import javafx.scene.control.TextBox;
import javafx.scene.layout.LayoutInfo;
import javafx.scene.paint.Color;
import com.sun.javafx.scene.control.caspian.TextBoxSkin;
/**
* @author lavoie
*/
Stage {
title: "Application title"
scene: Scene {
width: 250
height: 80
content: [
Text {
font : Font {
size : 16
}
x: 10
y: 30
content: "Application content"
},
TextBox
{
layoutInfo: LayoutInfo{width: 100};
selectOnFocus: true
promptText: "woopeedoo"
skin: TextBoxSkin
{
//backgroundFill: Color.YELLOW
borderFill: Color.TRANSPARENT //Color.BLACK
borderWidth: 0
//caretFill: Color.BLUE
focusFill: Color.TRANSPARENT
//highlightFill: Color.DARKBLUE
promptTextFill: Color.GRAY
//selectedTextFill: Color.WHITE
shadowFill: Color.TRANSPARENT
textFill: Color.BLACK
}
}
]
}
}
The following exceptions are thrown when pasting larger-than-field blocks of text (eg, 1k block of text):
Exception in trigger:
java.lang.IllegalArgumentException: TextHitInfo is out of range
at java.awt.font.TextLayout.checkTextHit(TextLayout.java:753)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1761)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1779)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:939)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:495)
at javafx.scene.text.Text.updateDecorationShapes(Text.fx:328)
at javafx.scene.text.Text$_SBECL.onChange(Text.fx:298)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:146)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.IntVariable.setAsInt(IntVariable.java:113)
at javafx.scene.text.Text.set$impl_caretPosition(Text.fx:296)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$_SBECL.onChange(TextBoxSkin.fx:229)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:146)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.AbstractBindingExpression.pushValue(AbstractBindingExpression.java:82)
at com.sun.javafx.runtime.location.AbstractBindingExpression.pushFrom(AbstractBindingExpression.java:106)
at com.sun.javafx.runtime.location.Locations$7.compute(Locations.java:283)
at com.sun.javafx.runtime.location.AbstractVariable.update(AbstractVariable.java:128)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:142)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:140)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.IntVariable.setAsInt(IntVariable.java:113)
at javafx.scene.control.TextBox.set$dot(TextBox.fx:71)
at javafx.scene.control.TextBox.selectRange(TextBox.fx:426)
at javafx.scene.control.TextBox.replaceSelection(TextBox.fx:516)
at javafx.scene.control.TextBox.paste(TextBox.fx:139)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior.callActionForEvent(TextBoxSkin.fx:833)
at javafx.scene.control.Control.impl_processKeyEvent(Control.fx:151)
at javafx.scene.Scene$KeyHandler.process(Scene.fx:765)
at javafx.scene.Scene.impl_processKeyEvent(Scene.fx:420)
at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.fx:523)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.doKeyEvent(SwingScene.java:428)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.keyPressed(SwingScene.java:432)
at java.awt.Component.processKeyEvent(Component.java:6306)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2801)
at java.awt.Component.processEvent(Component.java:6125)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
at java.awt.Component.dispatchEventImpl(Component.java:4586)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in trigger:
java.lang.IllegalArgumentException: TextHitInfo is out of range
at java.awt.font.TextLayout.checkTextHit(TextLayout.java:753)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1761)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1779)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:939)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:495)
at javafx.scene.text.Text.updateDecorationShapes(Text.fx:328)
at javafx.scene.text.Text$_SBECL.onChange(Text.fx:252)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:146)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.AbstractBindingExpression.pushValue(AbstractBindingExpression.java:82)
at com.sun.javafx.runtime.location.IntVariable$1.compute(IntVariable.java:104)
at com.sun.javafx.runtime.location.AbstractVariable.update(AbstractVariable.java:128)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:142)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.AbstractLocation.invalidate(AbstractLocation.java:108)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:140)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.AbstractLocation.invalidate(AbstractLocation.java:108)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:140)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:140)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.IntVariable.setAsInt(IntVariable.java:113)
at javafx.scene.control.TextBox.set$dot(TextBox.fx:71)
at javafx.scene.control.TextBox.selectRange(TextBox.fx:426)
at javafx.scene.control.TextBox.replaceSelection(TextBox.fx:516)
at javafx.scene.control.TextBox.paste(TextBox.fx:139)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior.callActionForEvent(TextBoxSkin.fx:833)
at javafx.scene.control.Control.impl_processKeyEvent(Control.fx:151)
at javafx.scene.Scene$KeyHandler.process(Scene.fx:765)
at javafx.scene.Scene.impl_processKeyEvent(Scene.fx:420)
at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.fx:523)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.doKeyEvent(SwingScene.java:428)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.keyPressed(SwingScene.java:432)
at java.awt.Component.processKeyEvent(Component.java:6306)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2801)
at java.awt.Component.processEvent(Component.java:6125)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
at java.awt.Component.dispatchEventImpl(Component.java:4586)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in trigger:
java.lang.IllegalArgumentException: TextHitInfo is out of range
at java.awt.font.TextLayout.checkTextHit(TextLayout.java:753)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1761)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1779)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:939)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:495)
at javafx.scene.text.Text.updateDecorationShapes(Text.fx:328)
at javafx.scene.text.Text$_SBECL.onChange(Text.fx:263)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:146)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.AbstractBindingExpression.pushValue(AbstractBindingExpression.java:82)
at com.sun.javafx.runtime.location.IntVariable$1.compute(IntVariable.java:104)
at com.sun.javafx.runtime.location.AbstractVariable.update(AbstractVariable.java:128)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:142)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.AbstractLocation.invalidate(AbstractLocation.java:108)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:140)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.AbstractLocation.invalidate(AbstractLocation.java:108)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:140)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:140)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.IntVariable.setAsInt(IntVariable.java:113)
at javafx.scene.control.TextBox.set$dot(TextBox.fx:71)
at javafx.scene.control.TextBox.selectRange(TextBox.fx:426)
at javafx.scene.control.TextBox.replaceSelection(TextBox.fx:516)
at javafx.scene.control.TextBox.paste(TextBox.fx:139)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior.callActionForEvent(TextBoxSkin.fx:833)
at javafx.scene.control.Control.impl_processKeyEvent(Control.fx:151)
at javafx.scene.Scene$KeyHandler.process(Scene.fx:765)
at javafx.scene.Scene.impl_processKeyEvent(Scene.fx:420)
at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.fx:523)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.doKeyEvent(SwingScene.java:428)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.keyPressed(SwingScene.java:432)
at java.awt.Component.processKeyEvent(Component.java:6306)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2801)
at java.awt.Component.processEvent(Component.java:6125)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
at java.awt.Component.dispatchEventImpl(Component.java:4586)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in trigger:
java.lang.IllegalArgumentException: TextHitInfo is out of range
at java.awt.font.TextLayout.checkTextHit(TextLayout.java:753)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1761)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1779)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:939)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:495)
at javafx.scene.text.Text.updateDecorationShapes(Text.fx:328)
at javafx.scene.text.Text$_SBECL.onChange(Text.fx:252)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:146)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.AbstractBindingExpression.pushValue(AbstractBindingExpression.java:82)
at com.sun.javafx.runtime.location.IntVariable$1.compute(IntVariable.java:104)
at com.sun.javafx.runtime.location.AbstractVariable.update(AbstractVariable.java:128)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:142)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.AbstractLocation.invalidate(AbstractLocation.java:108)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:140)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.AbstractLocation.invalidate(AbstractLocation.java:108)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:140)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:140)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.IntVariable.setAsInt(IntVariable.java:113)
at javafx.scene.control.TextBox.set$mark(TextBox.fx:80)
at javafx.scene.control.TextBox.selectRange(TextBox.fx:427)
at javafx.scene.control.TextBox.replaceSelection(TextBox.fx:516)
at javafx.scene.control.TextBox.paste(TextBox.fx:139)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior.callActionForEvent(TextBoxSkin.fx:833)
at javafx.scene.control.Control.impl_processKeyEvent(Control.fx:151)
at javafx.scene.Scene$KeyHandler.process(Scene.fx:765)
at javafx.scene.Scene.impl_processKeyEvent(Scene.fx:420)
at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.fx:523)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.doKeyEvent(SwingScene.java:428)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.keyPressed(SwingScene.java:432)
at java.awt.Component.processKeyEvent(Component.java:6306)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2801)
at java.awt.Component.processEvent(Component.java:6125)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
at java.awt.Component.dispatchEventImpl(Component.java:4586)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in trigger:
java.lang.IllegalArgumentException: TextHitInfo is out of range
at java.awt.font.TextLayout.checkTextHit(TextLayout.java:753)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1761)
at java.awt.font.TextLayout.getCaretShape(TextLayout.java:1779)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:939)
at com.sun.scenario.scenegraph.SGText.getCaretShape(SGText.java:495)
at javafx.scene.text.Text.updateDecorationShapes(Text.fx:328)
at javafx.scene.text.Text$_SBECL.onChange(Text.fx:263)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:146)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.AbstractBindingExpression.pushValue(AbstractBindingExpression.java:82)
at com.sun.javafx.runtime.location.IntVariable$1.compute(IntVariable.java:104)
at com.sun.javafx.runtime.location.AbstractVariable.update(AbstractVariable.java:128)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:142)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.AbstractLocation.invalidate(AbstractLocation.java:108)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:140)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.AbstractLocation.invalidate(AbstractLocation.java:108)
at com.sun.javafx.runtime.location.AbstractVariable.invalidate(AbstractVariable.java:140)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:234)
at com.sun.javafx.runtime.location.AbstractLocation$2.onAction(AbstractLocation.java:228)
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:254)
at com.sun.javafx.runtime.location.IntVariable.notifyListeners(IntVariable.java:140)
at com.sun.javafx.runtime.location.IntVariable.replaceValue(IntVariable.java:94)
at com.sun.javafx.runtime.location.IntVariable.setAsInt(IntVariable.java:113)
at javafx.scene.control.TextBox.set$mark(TextBox.fx:80)
at javafx.scene.control.TextBox.selectRange(TextBox.fx:427)
at javafx.scene.control.TextBox.replaceSelection(TextBox.fx:516)
at javafx.scene.control.TextBox.paste(TextBox.fx:139)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior$19.invoke(TextBoxSkin.fx:658)
at com.sun.javafx.scene.control.caspian.TextBoxSkin$TextBoxBehavior.callActionForEvent(TextBoxSkin.fx:833)
at javafx.scene.control.Control.impl_processKeyEvent(Control.fx:151)
at javafx.scene.Scene$KeyHandler.process(Scene.fx:765)
at javafx.scene.Scene.impl_processKeyEvent(Scene.fx:420)
at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.fx:523)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.doKeyEvent(SwingScene.java:428)
at com.sun.javafx.tk.swing.SwingScene$SwingScenePanel.keyPressed(SwingScene.java:432)
at java.awt.Component.processKeyEvent(Component.java:6306)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2801)
at java.awt.Component.processEvent(Component.java:6125)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
at java.awt.Component.dispatchEventImpl(Component.java:4586)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Were been having these issues on all platforms (Max OS X 10.6, Win7 and Ubuntu something something rather) in a large application but even this simple code above reproduces this issue.