Text nach Emoji wird in JavaFX unter macOS nicht gerendertJava

Java-Forum
Anonymous
 Text nach Emoji wird in JavaFX unter macOS nicht gerendert

Post by Anonymous »

Ich habe eine einfache JavaFX-Anwendung mit einigen Textknoten erstellt, die ein Emoji gefolgt von einer Zeichenfolge enthalten:

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();
}
}
Beim Ausführen unter macOS wird nur der erste Textknoten korrekt angezeigt.
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)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post