Я работаю в консоли, и я хочу преобразовать текст в формат HTML с цветным кодом. Если я отправляю текст из текстового поля, я не могу заменить символы, и мой текст не конвертируется. Вот пример:
Мой тестовый код:
WebViewConsole webViewConsole = new WebViewConsole();
webViewConsole.appendText("§1This is a §l§2Test §r§1, just §l§2because§r§1!\n");
TextField textField = new TextField();
textField.setText("§1This is a §l§2Test §r§1, just §l§2because§r§1!\n");
System.out.println(textField.getText().replaceAll("§", ""));
System.out.println(textField.getText().contains("§"));
Button button = new Button("Send");
button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
for (String htmlText : webViewConsole.getHtmlFormat(textField.getText())) {
System.out.println(htmlText);
}
String text = textField.getText();
webViewConsole.appendText(textField.getText());
System.out.println(text.replaceAll("§", ""));
System.out.println(text.contains("§"));
}
});
HBox hBox = new HBox(textField, button);
VBox vBox = new VBox(webViewConsole.getConsole(), hBox);
primaryStage.setScene(new Scene(vBox, 500, 300));
primaryStage.show();
Скриншот:
Скриншот
Вывод (я отправил сообщение один раз):
1This is a l2Test r1, just l2becauser1!
true
<span style="color:white;font-weight:normal"></span>
<span style="color:blue;font-weight:normal">This is a </span>
<span style="color:darkgreen;font-weight:bold">Test </span>
<span style="color:white;font-weight:normal"></span>
<span style="color:blue;font-weight:normal">, just </span>
<span style="color:darkgreen;font-weight:bold">because</span>
<span style="color:white;font-weight:normal"></span>
<span style="color:blue;font-weight:normal">!</span>
1This is a l2Test r1, just l2becauser1!
true
Если в сообщении содержатся эти странные символы (снимок экрана), текст будет успешно преобразован.
Извините за мой плохой английский, спасибо за помощь!