Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8110159

TextBox throws IllegalArgumentException when paste `large` text blocks

XMLWordPrintable

      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.

            morris Morris Meyer (Inactive)
            mlavoie Martin-Gilles Lavoie (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: