StringIndexOutOfBoundException возникает при вводе чего-либо в текстовое поле JavaFX как в JDK21, так и в JDK8, Windows1JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 StringIndexOutOfBoundException возникает при вводе чего-либо в текстовое поле JavaFX как в JDK21, так и в JDK8, Windows1

Сообщение Anonymous »

Когда я запускаю этот простой фрагмент кода элемента JavaFX TextField, я вводю что-то в текстовое поле, а затем периодически выдается исключение StringIndexOutOfBoundsException.
версии

Код: Выделить всё

JDK: 21.0.0, 21.0.2, 1.8
JavaFX:
`javafx.runtime.version=8.0.65 javafx.runtime.build=b17`
`javafx.version=21 javafx.runtime.version=21+31 javafx.runtime.build=31`
Windows:
`Edition=Windows 11 Pro, Version=23H2`
изображение ошибки 1
Сообщение об ошибке

Код: Выделить всё

Exception in thread "JavaFX Application Thread" java.lang.StringIndexOutOfBoundsException: Range [1, -2147483648) out of bounds for length 1
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55)
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52)
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213)
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210)
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Preconditions.java:112)
at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349)
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4861)
at java.base/java.lang.String.substring(String.java:2830)
at javafx.graphics@21/com.sun.glass.ui.win.WinTextRangeProvider.GetText(WinTextRangeProvider.java:367)
at javafx.graphics@21/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics@21/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:185)
at java.base/java.lang.Thread.run(Thread.java:1583)
исходный код

Код: Выделить всё

package comp3111.qsproject;

// Java program to create a textfield and add it to stage
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class TextFieldTest extends Application {

// launch the application
public void start(Stage s)
{
// set title for the stage
s.setTitle("creating TextField");

// create a textfield
TextField b = new TextField();

// create a stack pane
StackPane r = new StackPane();

// add textfield
r.getChildren().add(b);

// create a scene
Scene sc = new Scene(r, 200, 200);

// set the scene
s.setScene(sc);

s.show();
}

public static void main(String args[])
{
// launch the application
launch(args);
}
}
Эта проблема не была решена после переустановки JDK.
Любое предложение ценно. Спасибо

Подробнее здесь: https://stackoverflow.com/questions/783 ... fx-textfie
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»