Got following exception when try to play with effects
java.lang.RuntimeException: Actor: ImageButton: tt-button-up
at com.badlogic.gdx.scenes.scene2d.Actor.notify(Actor.java:192)
at com.badlogic.gdx.scenes.scene2d.Actor.fire(Actor.java:152)
at com.badlogic.gdx.scenes.scene2d.ui.Button.setChecked(Button.java:125)
at com.badlogic.gdx.scenes.scene2d.ui.Button$1.clicked(Button.java:93)
at com.badlogic.gdx.scenes.scene2d.utils.ClickListener.touchUp(ClickListener.java:88)
at com.badlogic.gdx.scenes.scene2d.InputListener.handle(InputListener.java:71)
at com.badlogic.gdx.scenes.scene2d.Stage.touchUp(Stage.java:355)
at com.badlogic.gdx.InputEventQueue.drain(InputEventQueue.java:70)
at com.badlogic.gdx.backends.lwjgl3.DefaultLwjgl3Input.update(DefaultLwjgl3Input.java:189)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.update(Lwjgl3Window.java:378)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:192)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:166)
at com.ray3k.skincomposer.desktop.DesktopLauncher.main(DesktopLauncher.java:484)
Caused by: java.lang.NumberFormatException: For input string: "1,0"
at java.base/jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054)
at java.base/jdk.internal.math.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
at java.base/java.lang.Float.parseFloat(Float.java:455)
at com.ray3k.skincomposer.dialog.textratypist.PopTextraEffects.lambda$createNumberField$27(PopTextraEffects.java:942)
at com.ray3k.skincomposer.utils.Utils$1.changed(Utils.java:573)
at com.badlogic.gdx.scenes.scene2d.utils.ChangeListener.handle(ChangeListener.java:28)
at com.badlogic.gdx.scenes.scene2d.Actor.notify(Actor.java:188)
... 12 more
In my locale delimeter for floating point is ',' instead of '.'
Simple code snippet:
public static void main(String[] args) {
System.out.println("Default (current locale) " + Locale.getDefault().getCountry());
System.out.println("Set DE locale - also have ',' as floating point delimeter (as example)");
Locale.setDefault(Locale.GERMANY);
String formattedNumber = String.format("%.1f", .1f);
System.out.println("Formatting 0.1 (locale dependent) -> " + formattedNumber);
System.out.println("Parsing locale dependent formatted floating number [" + formattedNumber + "] using default floating point parser");
System.out.println(Float.parseFloat(formattedNumber));
}
gave me following output:
Default (current locale) RU
Set DE locale - also have ',' as floating point delimeter (as example)
Formatting 0.1 (locale dependent) -> 0,1
Parsing locale dependent formatted floating number [0,1] using default floating point parser
Exception in thread "main" java.lang.NumberFormatException: For input string: "0,1"
at java.base/jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054)
at java.base/jdk.internal.math.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
at java.base/java.lang.Float.parseFloat(Float.java:455)
at [REDACTED]
Possible quick solution: specify Locale.US when formatting floating numbers for number fields
Got following exception when try to play with effects
In my locale delimeter for floating point is ',' instead of '.' Simple code snippet:
gave me following output:
Possible quick solution: specify Locale.US when formatting floating numbers for number fields