Code: Select all
public class App extends Application
{
public static void main( String[] args )
{
launch( args );
}
@Override
public void start( Stage primaryStage )
{
TextFlow textFlow = new TextFlow();
Text text1 = new Text( "\uD83D\uDE00" + " " + "foo" + "\n" );
Text text2 = new Text( "\uD83D\uDE01" + " " + "bar" + "\n" );
Text text3 = new Text( "\uD83D\uDE02" + " " + "baz" + "\n" );
textFlow.getChildren().addAll( text1, text2, text3 );
VBox vbox = new VBox( textFlow );
Scene scene = new Scene( vbox, 300, 200 );
primaryStage.setScene( scene );
primaryStage.show();
}
}
Bei den anderen beiden wird das Emoji angezeigt, aber nicht der folgende Text (ich kann hier noch keine Bilder einfügen). ).
Das Ändern der Schriftart oder das Ersetzen der VBox durch andere UI-Elemente ändert nichts. Durch das Entfernen der Emojis werden alle Zeichenfolgen korrekt angezeigt. Ich habe das zuvor unter Windows 10 getestet und es hat dort funktioniert.
Gibt es dafür eine Lösung? Ich arbeite an einer größeren App, in der ich Text mit Emojis anzeigen muss. Im Moment führt das Problem zu vielen Lücken im Textfluss.
Das sind die Merkmale meiner Entwicklungsumgebung:
- Betriebssystem: macOS 15.2
- CPU: Apple M4
- Javafx-Controls-Version: 23.0.1
- controlsfx-Version: 11.2.1
- JDK: OpenJDK Runtime Environment Corretto-21.0.5.11.1 (Build 21.0.5+11-LTS)