Код: Выделить всё
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();
}
}
Для двух других отображается смайлик, но не следующий текст (я пока не могу включать сюда изображения ).
Изменение шрифта или замена VBox другими элементами пользовательского интерфейса ничего не меняет. При удалении смайлов все строки отображаются правильно. Ранее я тестировал это в Windows 10, и там это работало.
Есть ли какое-нибудь решение? Я работаю над более крупным приложением, в котором мне нужно отображать текст, содержащий смайлы. На данный момент проблема создает множество пробелов в текстовом потоке.
Таковы характеристики моей среды разработки:
- ОС: macOS 15.2
- ЦП: Apple M4
- Версия javafx-controls: 23.0.1
- версия controlsfx: 11.2.1
- JDK: среда выполнения OpenJDK Corretto-21.0.5.11.1 (сборка 21.0.5+11-LTS)
Подробнее здесь: https://stackoverflow.com/questions/793 ... x-on-macos
Мобильная версия