在JavaFX TextArea中突出显示字符串

在JavaFX TextArea中突出显示字符串,第1张

在JavaFX TextArea中突出显示字符串

JavaFX textarea控件(自2.0.2开始)不支持混合文本样式(字体等)的富文本编辑。

你可以通过 *** 纵textarea的selectRange来突出显示textarea中的连续字符串,如以下示例所示:

public class TextHighlight extends Application {  public static void main(String[] args) { Application.launch(args); }  @Override public void start(Stage stage) {    final textarea text = new textarea("Here is some textz to highlight");    text.setStyle("-fx-highlight-fill: lightgray; -fx-highlight-text-fill: firebrick; -fx-font-size: 20px;");    text.setEditable(false);    text.addEventFilter(MouseEvent.ANY, new EventHandler<MouseEvent>() {      @Override public void handle(MouseEvent t) { t.consume(); }    });    stage.setScene(new Scene(text));    stage.show();    Platform.runLater(new Runnable() {      @Override public void run() { text.selectRange(13, 18); }    });  }}

你可以使用以上代码作为在进行拼写检查时将textarea切换为只读模式的基础。实施提示以依次查找和修复每个单词,直到完成拼写检查为止。在单独的对话框或面板中执行提示。Jazzy演示似乎以这种方式工作http://jazzy.sourceforge.net/demo.html,因此将其Swing UI转换为JavaFX应该相当容易。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5004205.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-14
下一篇2022-11-14

发表评论

登录后才能评论

评论列表(0条)

    保存