public class Foo extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
var textArea = new TextArea();
textArea.setOnInputMethodTextChanged(e -> {
System.out.println("Event:" + e.getCommitted().length());
textArea.appendText(e.getCommitted());
});
VBox.setVgrow(textArea, Priority.ALWAYS);
var root = new VBox(textArea);
var scene = new Scene(root, 400, 400);
primaryStage.setScene(scene);
primaryStage.show();
}
}
Пользователь выбирает необходимый символ, например, нажав «2».
IME исчезает.
Ничего не происходит, пока пользователь не нажмет Enter .
Выбранный символ добавлен.
Я не знаю китайского языка, но попробовал IME с Firefox, и он работает без #5. Может ли кто-нибудь сказать, как это сделать, не заставляя пользователя нажимать Enter для каждого символа?
Я хочу предоставить возможность вводить китайские символы в JavaFX в Windows. Это мой тестовый код для TextArea: [code]public class Foo extends Application {
public static void main(String[] args) { launch(args); }
@Override public void start(Stage primaryStage) throws Exception { var textArea = new TextArea(); textArea.setOnInputMethodTextChanged(e -> { System.out.println("Event:" + e.getCommitted().length()); textArea.appendText(e.getCommitted()); }); VBox.setVgrow(textArea, Priority.ALWAYS); var root = new VBox(textArea); var scene = new Scene(root, 400, 400); primaryStage.setScene(scene); primaryStage.show(); } } [/code] И вот результат: [img]https://i.sstatic.net /XVDJincg.gif[/img]
Как это работает: [list] [*]Пользователь начинает вводить символы.[*]Появится Windows IME. [*]Пользователь выбирает необходимый символ, например, нажав «2». [*]IME исчезает. [*]Ничего не происходит, пока пользователь не нажмет Enter . [*]Выбранный символ добавлен. [/list] Я не знаю китайского языка, но попробовал IME с Firefox, и он работает без #5. Может ли кто-нибудь сказать, как это сделать, не заставляя пользователя нажимать Enter для каждого символа?
В большинстве операций «Нажмите Enter, чтобы продолжить..» в моем коде мне кажется, что мне приходится дважды нажать клавишу ENTER, чтобы продолжить. Я не уверен, что заставляет его отображаться дважды, а не один раз. Вот пример вывода проблемы:...
Описание проблемы
Я испытываю проблему, касающуюся конфигурации шрифта в Tkinter. Конструктор всех виджетов Tkinter имеет аргумент ключевого слова , который позволяет настроить шрифт, используемый для отображения текста. однако , этот параметр, по...
Описание проблемы
Я испытываю проблему, касающуюся конфигурации шрифта в Tkinter. Конструктор всех виджетов Tkinter имеет аргумент ключевого слова , который позволяет настроить шрифт, используемый для отображения текста. однако , этот параметр, по...
Описание проблемы
Я испытываю проблему, касающуюся конфигурации шрифта в Tkinter. Конструктор всех виджетов Tkinter имеет аргумент ключевого слова , который позволяет настроить шрифт, используемый для отображения текста. однако , этот параметр, по...
Описание проблемы
Я испытываю проблему, касающуюся конфигурации шрифта в Tkinter. Конструктор всех виджетов Tkinter имеет аргумент ключевого слова , который позволяет настроить шрифт, используемый для отображения текста. однако , этот параметр, по...