use of javafx.event.Event in project JFoenix by jfoenixadmin.
the class JFXDrawer method initListeners.
private void initListeners() {
updateDirection(directionProperty.get());
initTranslate.bind(Bindings.createDoubleBinding(() -> -1 * directionProperty.get().doubleValue() * defaultSizeProperty.getValue() - initOffset * directionProperty.get().doubleValue(), defaultSizeProperty, directionProperty));
// add listeners to update drawer properties
overLayVisibleProperty().addListener((o, oldVal, newVal) -> {
overlayPane.setStyle(!newVal ? "-fx-background-color : transparent;" : "");
overlayPane.setMouseTransparent(!newVal);
overlayPane.setPickOnBounds(newVal);
});
directionProperty.addListener((o, oldVal, newVal) -> updateDirection(newVal));
initTranslate.addListener((o, oldVal, newVal) -> updateDrawerAnimation(newVal.doubleValue()));
// content listener for mouse hold on a side
this.content.addEventHandler(MouseEvent.MOUSE_PRESSED, (e) -> {
if (!e.isConsumed()) {
double size = 0;
long valid = 0;
for (int i = 0; i < callBacks.size(); i++) if (!callBacks.get(i).call(null))
valid++;
// long valid = callBacks.stream().filter(callback->!callback.call(null)).count();
if (directionProperty.get().equals(DrawerDirection.RIGHT))
size = content.getWidth();
else if (directionProperty.get().equals(DrawerDirection.BOTTOM))
size = content.getHeight();
double eventPoint = 0;
if (directionProperty.get().equals(DrawerDirection.RIGHT) || directionProperty.get().equals(DrawerDirection.LEFT))
eventPoint = e.getX();
else
eventPoint = e.getY();
if (size + directionProperty.get().doubleValue() * eventPoint < activeOffset && (content.getCursor() == Cursor.DEFAULT || content.getCursor() == null) && valid == 0) {
holdTimer.play();
e.consume();
}
}
});
// mouse drag handler
translateProperty.addListener((o, oldVal, newVal) -> {
double opValue = 1 - newVal.doubleValue() / initTranslate.doubleValue();
overlayPane.setOpacity(opValue);
});
// add opening/closing action listeners
translateProperty.addListener((o, oldVal, newVal) -> {
if (!openCalled && closeCalled && directionProperty.get().doubleValue() * newVal.doubleValue() > directionProperty.get().doubleValue() * initTranslate.doubleValue() / 2) {
openCalled = true;
closeCalled = false;
onDrawerOpeningProperty.get().handle(new JFXDrawerEvent(JFXDrawerEvent.OPENING));
}
});
translateProperty.addListener((o, oldVal, newVal) -> {
if (openCalled && !closeCalled && directionProperty.get().doubleValue() * newVal.doubleValue() < directionProperty.get().doubleValue() * initTranslate.doubleValue() / 2) {
closeCalled = true;
openCalled = false;
onDrawerClosingProperty.get().handle(new JFXDrawerEvent(JFXDrawerEvent.CLOSING));
}
});
this.sidePane.addEventHandler(MouseEvent.MOUSE_DRAGGED, mouseDragHandler);
this.sidePane.addEventHandler(MouseEvent.MOUSE_RELEASED, mouseReleasedHandler);
this.sidePane.addEventHandler(MouseEvent.MOUSE_PRESSED, mousePressedHandler);
this.content.addEventHandler(MouseEvent.MOUSE_RELEASED, (e) -> {
holdTimer.stop();
this.content.removeEventFilter(MouseEvent.MOUSE_DRAGGED, mouseDragHandler);
});
holdTimer.setOnFinished((e) -> {
if (!this.getChildren().contains(overlayPane))
this.getChildren().add(overlayPane);
if (!this.getChildren().contains(sidePane))
this.getChildren().add(sidePane);
partialTransition = new DrawerPartialTransition(initTranslate.doubleValue(), initTranslate.doubleValue() + initOffset * directionProperty.get().doubleValue() + activeOffset * directionProperty.get().doubleValue());
partialTransition.setOnFinished((event) -> {
this.content.addEventFilter(MouseEvent.MOUSE_DRAGGED, mouseDragHandler);
this.content.addEventHandler(MouseEvent.MOUSE_RELEASED, mouseReleasedHandler);
this.content.addEventHandler(MouseEvent.MOUSE_RELEASED, new EventHandler<Event>() {
@Override
public void handle(Event event) {
JFXDrawer.this.content.removeEventHandler(MouseEvent.MOUSE_RELEASED, mouseReleasedHandler);
JFXDrawer.this.content.removeEventHandler(MouseEvent.MOUSE_RELEASED, this);
}
});
});
partialTransition.play();
});
}
use of javafx.event.Event in project fxexperience2 by EricCanull.
the class GradientPicker method initialize.
/**
* Private
*/
private void initialize() {
final FXMLLoader loader = new FXMLLoader();
//NOI18N
loader.setLocation(GradientPicker.class.getResource("/fxml/FXMLGradientPicker.fxml"));
loader.setController(this);
loader.setRoot(this);
try {
loader.load();
} catch (IOException ex) {
Logger.getLogger(GradientPicker.class.getName()).log(Level.SEVERE, null, ex);
}
assert proportional_checkbox != null;
assert cycleMethod_choicebox != null;
assert startX_slider != null;
assert endX_slider != null;
assert startY_slider != null;
assert endY_slider != null;
assert centerX_slider != null;
assert centerY_slider != null;
assert radial_container != null;
// Add two default stops
final GradientPickerStop black = addStop(0.0, 1.0, 0.0, Color.BLACK);
addStop(0.0, 1.0, 1.0, Color.WHITE);
// Select first default stop
setSelectedStop(black);
proportional_checkbox.setSelected(true);
proportional_checkbox.selectedProperty().addListener((ov, oldValue, newValue) -> {
final Mode mode = paintPicker.getMode();
final Paint value = getValue(mode);
// Update UI
preview_rect.setFill(value);
// Update model
paintPicker.setPaintProperty(value);
});
proportional_checkbox.setOnAction((ActionEvent event) -> {
event.consume();
});
cycleMethod_choicebox.setItems(FXCollections.observableArrayList(CycleMethod.values()));
cycleMethod_choicebox.getSelectionModel().selectFirst();
cycleMethod_choicebox.getSelectionModel().selectedItemProperty().addListener((ov, oldValue, newValue) -> {
final Mode mode = paintPicker.getMode();
final Paint value = getValue(mode);
// Update UI
preview_rect.setFill(value);
// Update model
paintPicker.setPaintProperty(value);
});
cycleMethod_choicebox.addEventHandler(ActionEvent.ACTION, (Event event) -> {
event.consume();
});
final ChangeListener<Number> onValueChange = (ov, oldValue, newValue) -> {
final Mode mode = paintPicker.getMode();
final Paint value = getValue(mode);
// Update UI
preview_rect.setFill(value);
// Update model
paintPicker.setPaintProperty(value);
};
startX_slider.valueProperty().addListener(onValueChange);
startY_slider.valueProperty().addListener(onValueChange);
endX_slider.valueProperty().addListener(onValueChange);
endY_slider.valueProperty().addListener(onValueChange);
centerX_slider.valueProperty().addListener(onValueChange);
centerY_slider.valueProperty().addListener(onValueChange);
focusAngleRotator.rotationProperty().addListener(onValueChange);
focusDistanceSlider.getSlider().valueProperty().addListener(onValueChange);
radiusSlider.getSlider().valueProperty().addListener(onValueChange);
radial_container.getChildren().addAll(radiusSlider, focusDistanceSlider, focusAngleRotator);
radial_container.setVisible(false);
radial_container.setManaged(false);
final ChangeListener<Boolean> liveUpdateListener = (ov, oldValue, newValue) -> paintPicker.setLiveUpdate(newValue);
startX_slider.pressedProperty().addListener(liveUpdateListener);
startY_slider.pressedProperty().addListener(liveUpdateListener);
endX_slider.pressedProperty().addListener(liveUpdateListener);
endY_slider.pressedProperty().addListener(liveUpdateListener);
centerX_slider.pressedProperty().addListener(liveUpdateListener);
centerY_slider.pressedProperty().addListener(liveUpdateListener);
radiusSlider.pressedProperty().addListener(liveUpdateListener);
focusDistanceSlider.pressedProperty().addListener(liveUpdateListener);
focusAngleRotator.pressedProperty().addListener(liveUpdateListener);
slider_container.pressedProperty().addListener(liveUpdateListener);
}
use of javafx.event.Event in project Gargoyle by callakrsos.
the class CrudBaseColumnMapper method commboBox.
private CommboBoxTableColumn<T, Object> commboBox(Class<?> classType, String columnName, IOptions naming) {
CommboInfo<?> comboBox = naming.comboBox(columnName);
ObservableList codeList = (ObservableList) comboBox.getCodeList();
String code = comboBox.getCode();
String codeNm = comboBox.getCodeNm();
Supplier<ChoiceBoxTableCell<T, Object>> supplier = () -> {
ChoiceBoxTableCell<T, Object> choiceBoxTableCell = new ChoiceBoxTableCell<T, Object>(codeList) {
@Override
public void startEdit() {
Object vo = tableViewProperty().get().getItems().get(super.getIndex());
if (vo instanceof AbstractDVO) {
AbstractDVO _abstractvo = (AbstractDVO) vo;
if (Objects.equals(CommonConst._STATUS_CREATE, _abstractvo.get_status())) {
boolean editable = naming.editable(columnName);
if (!editable)
return;
super.startEdit();
} else if (Objects.equals(CommonConst._STATUS_UPDATE, _abstractvo.get_status())) {
boolean editable = naming.editable(columnName);
if (!editable)
return;
NonEditable annotationClass = getAnnotationClass(_abstractvo.getClass(), NonEditable.class, columnName);
if (annotationClass != null) {
LOGGER.debug("non start Edit");
} else {
super.startEdit();
LOGGER.debug("start Edit");
}
}
}
}
};
EventDispatcher originalDispatcher = choiceBoxTableCell.getEventDispatcher();
choiceBoxTableCell.setEventDispatcher((event, tail) -> {
return choiceBoxTableCellCellEventDispatcher(choiceBoxTableCell, originalDispatcher, event, tail);
});
// 아직까지는 codeList가 쓰일일이 없어서 주석처리함.. 과연 필요한 케이스가 생길지...?
choiceBoxTableCell.setConverter(new CommboBoxStringConverter<Object>(/* codeList, */
code, codeNm));
return choiceBoxTableCell;
};
CommboBoxTableColumn<T, Object> combobox = new CommboBoxTableColumn<T, Object>(supplier, columnName, codeList, code, codeNm);
return combobox;
}
use of javafx.event.Event in project Gargoyle by callakrsos.
the class SystemLayoutViewController method initialize.
@FXML
public void initialize() {
// 쿼리 리스너를 등록
DbUtil.registQuertyListener(this);
try {
FXMLLoader loader = FxUtil.createNewFxmlLoader();
loader.setLocation(SystemLayoutViewController.class.getResource("DAOLoaderView.fxml"));
TitledPane titledPane = loader.load();
VBox.setVgrow(titledPane, Priority.ALWAYS);
accordionItems.getChildren().add(titledPane);
DAOLoaderController controller = loader.getController();
controller.setSystemLayoutViewController(this);
} catch (IOException e1) {
e1.printStackTrace();
}
SharedMemory.setSystemLayoutView(this);
SharedMemory.setWorkspaceTab(tabPanWorkspace);
// tab key에 대한 이벤트 처리 등록....
SharedMemory.getPrimaryStage().addEventHandler(KeyEvent.ANY, event -> {
boolean isCloseALLtabKeyCode = event.isControlDown() && event.isShiftDown() && KeyCode.W == event.getCode();
boolean isTabMoveCode = event.isControlDown() && isNumberCode(event.getCode());
ObservableList<DockTab> tabs = tabPanWorkspace.getTabs();
if (isCloseALLtabKeyCode) {
LOGGER.debug("CLOSE ALL TABS...");
for (int i = tabs.size() - 1; i > 0; i--) {
tabs.remove(i);
}
} else if (isTabMoveCode) {
int tabIndex = Integer.parseInt(event.getCode().getName());
if (tabIndex > 0 && tabs.size() < tabIndex)
return;
LOGGER.debug("MOVE TAB" + event.getCode().getName());
tabPanWorkspace.getSelectionModel().select(tabIndex - 1);
}
});
String baseDir = ResourceLoader.getInstance().get(ResourceLoader.BASE_DIR);
selectDirFile = new File(baseDir);
createNewTreeViewMenuItems();
webvWelcome.getEngine().setJavaScriptEnabled(true);
webvWelcome.getEngine().load(HOME_URL);
txtUrl.addEventHandler(KeyEvent.KEY_PRESSED, event -> {
if (KeyCode.ENTER == event.getCode()) {
webvWelcome.getEngine().load(txtUrl.getText());
}
});
btnUrlSearch.addEventHandler(MouseEvent.MOUSE_CLICKED, event -> {
if (event.getClickCount() >= 1) {
webvWelcome.getEngine().load(txtUrl.getText());
}
});
webvWelcome.setOnKeyPressed(key -> {
if (key.getCode() == KeyCode.F12) {
FxUtil.createStageAndShow("Simple Web Console", new WebViewConsole(webvWelcome));
}
});
treeProjectFile.setRoot(createNewTree(selectDirFile));
treeProjectFile.setShowRoot(false);
// 트리 컨테스트 요청 이벤트
treeProjectFile.setOnContextMenuRequested(this::treeProjectFileOnContextMenuRequested);
// 트리 마우스 이벤트
treeProjectFile.setOnMouseClicked(this::treeProjectFileOnMouseClick);
// 트리 키 이벤트
treeProjectFile.addEventHandler(KeyEvent.KEY_PRESSED, this::treeProjectFileOnKeyPressed);
/** 플러그인들을 로드함. **/
Platform.runLater(new Runnable() {
@Override
public void run() {
List<JarWrapper> load = PluginLoader.getInstance().load();
load.stream().forEach(jarWrapper -> {
try {
String displayMenuName = jarWrapper.getDisplayMenuName();
MenuItem pluginMenu = new MenuItem(displayMenuName);
pluginMenu.setUserData(jarWrapper);
pluginMenu.setOnAction(event -> {
JarWrapper jar = (JarWrapper) pluginMenu.getUserData();
try {
Class<?> nodeClass = jar.getNodeClass();
Object newInstance = jar.loader.loadClass(nodeClass.getName()).newInstance();
if (newInstance instanceof CloseableParent<?>) {
loadNewSystemTab(jar.getDisplayMenuName(), (CloseableParent<?>) newInstance);
} else {
loadNewSystemTab(jar.getDisplayMenuName(), (Parent) newInstance, SkinManager.getInstance().getJavafxDefaultSkin());
}
} catch (Exception e) {
LOGGER.error("regist fail plugin.");
LOGGER.error(ValueUtil.toString(e));
}
});
try {
Class<GagoyleParentBeforeLoad> setBeforeParentLoadListenerClass = jarWrapper.getSetOnParentBeforeLoadedListenerClass();
if (setBeforeParentLoadListenerClass != null)
setOnbeforeParentLoad(setBeforeParentLoadListenerClass.newInstance());
} catch (Exception e) {
LOGGER.error("regist fail 'GagoyleParentBeforeLoad' listener.");
}
try {
Class<GagoyleParentOnLoaded> addOnParentLoadedListenerClass = jarWrapper.getAddOnParentLoadedListenerClass();
if (addOnParentLoadedListenerClass != null)
addOnParentLoadedListener(addOnParentLoadedListenerClass.newInstance());
} catch (Exception e) {
LOGGER.error("regist fail 'GagoyleParentOnLoaded' listener.");
}
menuPlugins.getItems().add(pluginMenu);
} catch (Exception e) {
LOGGER.debug(ValueUtil.toString(e));
}
});
}
});
//tab image 아이콘 처리
try (InputStream is = getClass().getResourceAsStream("/META-INF/images/eclipse/eview16/packages.gif")) {
tabPackageExplorer.setGraphic(new ImageView(new Image(is)));
} catch (IOException e) {
e.printStackTrace();
}
tabPanWorkspace.getTabs().addListener(dockTabCloseListener);
}
use of javafx.event.Event in project Gargoyle by callakrsos.
the class SystemLayoutViewController method treeProjectFileOnKeyPressed.
/********************************
* 작성일 : 2016. 6. 11. 작성자 : KYJ
*
* 트리 키 클릭 이벤트
*
* @param event
********************************/
public void treeProjectFileOnKeyPressed(KeyEvent event) {
if (event.getCode() == KeyCode.R && event.isControlDown() && event.isShiftDown() && !event.isAltDown()) {
try {
GagoyleWorkspaceOpenResourceView resourceView = new GagoyleWorkspaceOpenResourceView();
ResultDialog<File> show = resourceView.show();
File data = show.getData();
if (data != null && data.exists()) {
TreeItem<FileWrapper> search = search(data);
treeProjectFile.getSelectionModel().select(search);
treeProjectFile.getFocusModel().focus(treeProjectFile.getSelectionModel().getSelectedIndex());
treeProjectFile.scrollTo(treeProjectFile.getSelectionModel().getSelectedIndex());
openFile(data);
}
} catch (Exception e) {
LOGGER.error(ValueUtil.toString(e));
}
} else if (event.getCode() == KeyCode.DELETE && !event.isControlDown() && !event.isShiftDown() && !event.isAltDown()) {
//이벤트 발생시킴.
ActionEvent.fireEvent(tail -> tail.append((event1, tail1) -> {
deleteFileMenuItemOnAction((ActionEvent) event1);
return event1;
}), new ActionEvent());
} else if (KeyCode.F5 == event.getCode()) {
TreeItem<FileWrapper> selectedItem = treeProjectFile.getSelectionModel().getSelectedItem();
if (selectedItem != null)
refleshWorkspaceTreeItem(selectedItem);
}
}
Aggregations