public CodeAreaBuilder setupAutocomplete(AutocompletionEngine service, String collectionName) {
this.suggestContext = new SuggestContext(collectionName, codeArea);
Popup popup = new Popup();
popup.setAutoHide(true);
popup.setHideOnEscape(true);
ListView<Suggest> listView = createAutocompleteListView(popup);
popup.getContent().add(listView);
codeArea.setPopupWindow(popup);
codeArea.setPopupAlignment(PopupAlignment.CARET_BOTTOM);
codeArea.setPopupAnchorOffset(new Point2D(1, 1));
Builder<KeyEvent> onKey =
EventHandlerHelper.on(keyPressed(KeyCode.SPACE, KeyCombination.CONTROL_DOWN)).act(ae -> {
if (popup.isShowing()) {
popup.hide();
}
else {
showPopup(service, popup, listView);
}
}) //
.on(EventPattern.keyReleased(KeyCode.PERIOD)).act(ae -> showPopup(service, popup, listView));
codeArea.textProperty().addListener(text -> {
if (popup.isShowing()) {
updateSuggestion(service, popup, listView);
}
});
EventHandler<KeyEvent> onKeyHandler = onKey.create();
EventHandlerHelper.install(codeArea.onKeyPressedProperty(), onKeyHandler);
EventHandlerHelper.install(codeArea.onKeyReleasedProperty(), onKeyHandler);
return this;
}
CodeAreaBuilder.java 文件源码
java
阅读 19
收藏 0
点赞 0
评论 0
项目:mongofx
作者:
评论列表
文章目录