When the content of a TextBox starts with a newline character ("\n"), a runtime exception is generated.
Code:
Stage {
title: "Application title"
scene: Scene {
width: 250
height: 80
content: [
Text {
content: " \nApplication content"
}
]
}
}
Exception:
Unexpected exception caught in MasterTimer.timePulse():
java.lang.IllegalArgumentException: offsetLimit must be after current position
at java.awt.font.LineBreakMeasurer.nextOffset(LineBreakMeasurer.java:337)
at java.awt.font.LineBreakMeasurer.nextLayout(LineBreakMeasurer.java:422)
at com.sun.scenario.scenegraph.SGText.updateTextLayouts(SGText.java:1036)
at com.sun.scenario.scenegraph.SGText.computeBounds(SGText.java:616)
at com.sun.scenario.scenegraph.SGNode.updateBounds(SGNode.java:554)
at com.sun.scenario.scenegraph.SGNode.getContentBounds(SGNode.java:197)
at com.sun.scenario.scenegraph.SGNode.getClippedBounds(SGNode.java:173)
at com.sun.scenario.scenegraph.SGNode.updateTxBounds(SGNode.java:565)
at com.sun.scenario.scenegraph.SGNode.getCompleteBounds(SGNode.java:144)
at com.sun.scenario.scenegraph.SGGroup.computeBounds(SGGroup.java:243)
at com.sun.scenario.scenegraph.SGNode.updateBounds(SGNode.java:554)
at com.sun.scenario.scenegraph.SGNode.getContentBounds(SGNode.java:197)
at com.sun.scenario.scenegraph.SGNode.getClippedBounds(SGNode.java:173)
at com.sun.scenario.scenegraph.SGNode.updateTxBounds(SGNode.java:565)
at com.sun.scenario.scenegraph.SGNode.getCompleteBounds(SGNode.java:144)
at com.sun.scenario.scenegraph.SGGroup.computeBounds(SGGroup.java:243)
at com.sun.scenario.scenegraph.SGNode.updateBounds(SGNode.java:554)
at com.sun.scenario.scenegraph.SGNode.getContentBounds(SGNode.java:197)
at com.sun.scenario.scenegraph.SGNode.getClippedBounds(SGNode.java:173)
at com.sun.scenario.scenegraph.SGNode.updateTxBounds(SGNode.java:565)
at com.sun.scenario.scenegraph.SGNode.computeDirtyRegion(SGNode.java:709)
at com.sun.scenario.scenegraph.SGGroup.computeDirtyRegion(SGGroup.java:268)
at com.sun.scenario.scenegraph.SGNode.accumulateDirtyRegions(SGNode.java:654)
at com.sun.scenario.scenegraph.JSGPanel.accumulateDirtyRegions(JSGPanel.java:385)
at com.sun.scenario.scenegraph.JSGPanel.repaintDirtyRegions(JSGPanel.java:307)
at com.sun.scenario.scenegraph.JSGPanelRepainter.repaintAll(JSGPanelRepainter.java:122)
at com.sun.scenario.scenegraph.JSGPanelRepainter$FrameDisplay.run(JSGPanelRepainter.java:134)
at com.sun.scenario.animation.AbstractMasterTimer.timePulseImpl(AbstractMasterTimer.java:397)
at com.sun.scenario.animation.AbstractMasterTimer$MainLoop.run(AbstractMasterTimer.java:274)
at com.sun.embeddedswing.EmbeddedEventQueue.doPulse(EmbeddedEventQueue.java:562)
at com.sun.embeddedswing.EmbeddedEventQueue.access$000(EmbeddedEventQueue.java:74)
at com.sun.embeddedswing.EmbeddedEventQueue$2.run(EmbeddedEventQueue.java:465)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Code:
Stage {
title: "Application title"
scene: Scene {
width: 250
height: 80
content: [
Text {
content: " \nApplication content"
}
]
}
}
Exception:
Unexpected exception caught in MasterTimer.timePulse():
java.lang.IllegalArgumentException: offsetLimit must be after current position
at java.awt.font.LineBreakMeasurer.nextOffset(LineBreakMeasurer.java:337)
at java.awt.font.LineBreakMeasurer.nextLayout(LineBreakMeasurer.java:422)
at com.sun.scenario.scenegraph.SGText.updateTextLayouts(SGText.java:1036)
at com.sun.scenario.scenegraph.SGText.computeBounds(SGText.java:616)
at com.sun.scenario.scenegraph.SGNode.updateBounds(SGNode.java:554)
at com.sun.scenario.scenegraph.SGNode.getContentBounds(SGNode.java:197)
at com.sun.scenario.scenegraph.SGNode.getClippedBounds(SGNode.java:173)
at com.sun.scenario.scenegraph.SGNode.updateTxBounds(SGNode.java:565)
at com.sun.scenario.scenegraph.SGNode.getCompleteBounds(SGNode.java:144)
at com.sun.scenario.scenegraph.SGGroup.computeBounds(SGGroup.java:243)
at com.sun.scenario.scenegraph.SGNode.updateBounds(SGNode.java:554)
at com.sun.scenario.scenegraph.SGNode.getContentBounds(SGNode.java:197)
at com.sun.scenario.scenegraph.SGNode.getClippedBounds(SGNode.java:173)
at com.sun.scenario.scenegraph.SGNode.updateTxBounds(SGNode.java:565)
at com.sun.scenario.scenegraph.SGNode.getCompleteBounds(SGNode.java:144)
at com.sun.scenario.scenegraph.SGGroup.computeBounds(SGGroup.java:243)
at com.sun.scenario.scenegraph.SGNode.updateBounds(SGNode.java:554)
at com.sun.scenario.scenegraph.SGNode.getContentBounds(SGNode.java:197)
at com.sun.scenario.scenegraph.SGNode.getClippedBounds(SGNode.java:173)
at com.sun.scenario.scenegraph.SGNode.updateTxBounds(SGNode.java:565)
at com.sun.scenario.scenegraph.SGNode.computeDirtyRegion(SGNode.java:709)
at com.sun.scenario.scenegraph.SGGroup.computeDirtyRegion(SGGroup.java:268)
at com.sun.scenario.scenegraph.SGNode.accumulateDirtyRegions(SGNode.java:654)
at com.sun.scenario.scenegraph.JSGPanel.accumulateDirtyRegions(JSGPanel.java:385)
at com.sun.scenario.scenegraph.JSGPanel.repaintDirtyRegions(JSGPanel.java:307)
at com.sun.scenario.scenegraph.JSGPanelRepainter.repaintAll(JSGPanelRepainter.java:122)
at com.sun.scenario.scenegraph.JSGPanelRepainter$FrameDisplay.run(JSGPanelRepainter.java:134)
at com.sun.scenario.animation.AbstractMasterTimer.timePulseImpl(AbstractMasterTimer.java:397)
at com.sun.scenario.animation.AbstractMasterTimer$MainLoop.run(AbstractMasterTimer.java:274)
at com.sun.embeddedswing.EmbeddedEventQueue.doPulse(EmbeddedEventQueue.java:562)
at com.sun.embeddedswing.EmbeddedEventQueue.access$000(EmbeddedEventQueue.java:74)
at com.sun.embeddedswing.EmbeddedEventQueue$2.run(EmbeddedEventQueue.java:465)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
- duplicates
-
JDK-8107332 When The First Line Of A Text Is Empty,IllegalArgumentException
-
- Closed
-