Search in sources :

Example 41 with FXMLLoader

use of javafx.fxml.FXMLLoader 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);
}
Also used : Arrays(java.util.Arrays) StringUtils(org.apache.commons.lang.StringUtils) MultipleSelectionModel(javafx.scene.control.MultipleSelectionModel) ListChangeListener(javafx.collections.ListChangeListener) JavaProjectFileTreeItem(com.kyj.fx.voeditor.visual.component.JavaProjectFileTreeItem) FileUtil(com.kyj.fx.voeditor.visual.util.FileUtil) Path(java.nio.file.Path) SystemUtils(org.apache.commons.lang.SystemUtils) SplitPane(javafx.scene.control.SplitPane) Pair(javafx.util.Pair) Event(javafx.event.Event) KeyEvent(javafx.scene.input.KeyEvent) PluginLoader(com.kyj.fx.voeditor.visual.loder.PluginLoader) Platform(javafx.application.Platform) FxUtil(com.kyj.fx.voeditor.visual.util.FxUtil) ResourceLoader(com.kyj.fx.voeditor.visual.momory.ResourceLoader) XMLTextView(com.kyj.fx.voeditor.visual.component.popup.XMLTextView) ObservableList(javafx.collections.ObservableList) BorderPane(javafx.scene.layout.BorderPane) CodeAnalysisJavaTextArea(com.kyj.fx.voeditor.visual.component.text.CodeAnalysisJavaTextArea) DbExecListener(com.kyj.fx.voeditor.visual.util.DbExecListener) SVNViewer(com.kyj.fx.voeditor.visual.component.scm.SVNViewer) TreeItem(javafx.scene.control.TreeItem) FXCollections(javafx.collections.FXCollections) DialogUtil(com.kyj.fx.voeditor.visual.util.DialogUtil) FilePropertiesComposite(com.kyj.fx.voeditor.visual.component.file.FilePropertiesComposite) FXMLLoader(javafx.fxml.FXMLLoader) SpecResource(com.kyj.fx.voeditor.visual.words.spec.auto.msword.ui.model.SpecResource) UtubeDownloaderComposite(com.kyj.fx.voeditor.visual.component.utube.UtubeDownloaderComposite) Properties(java.util.Properties) ImageViewPane(com.kyj.fx.voeditor.visual.component.ImageViewPane) TitledPane(javafx.scene.control.TitledPane) Node(javafx.scene.Node) IOException(java.io.IOException) FileUtils(org.apache.commons.io.FileUtils) RuntimeClassUtil(com.kyj.fx.voeditor.visual.util.RuntimeClassUtil) File(java.io.File) ReadOnlySingletonConsole(com.kyj.fx.voeditor.visual.component.console.ReadOnlySingletonConsole) GoogleTrendComposite(com.kyj.fx.voeditor.visual.component.google.trend.GoogleTrendComposite) Menu(javafx.scene.control.Menu) ContextMenuEvent(javafx.scene.input.ContextMenuEvent) KeyCodeCombination(javafx.scene.input.KeyCodeCombination) NrchRealtimeSrchFlowComposite(com.kyj.fx.voeditor.visual.component.nrch.realtime.NrchRealtimeSrchFlowComposite) SimpleObjectProperty(javafx.beans.property.SimpleObjectProperty) Tab(javafx.scene.control.Tab) ImageView(javafx.scene.image.ImageView) ResultDialog(com.kyj.fx.voeditor.visual.component.ResultDialog) SkinManager(com.kyj.fx.voeditor.visual.momory.SkinManager) Image(javafx.scene.image.Image) EventHandler(javafx.event.EventHandler) Button(javafx.scene.control.Button) DbUtil(com.kyj.fx.voeditor.visual.util.DbUtil) LoggerFactory(org.slf4j.LoggerFactory) NullExpresion(com.kyj.fx.voeditor.visual.util.NullExpresion) JavaSVNManager(com.kyj.scm.manager.svn.java.JavaSVNManager) SVNWcDbClient(com.kyj.scm.manager.svn.java.SVNWcDbClient) PDFImageBasePane(com.kyj.fx.voeditor.visual.component.PDFImageBasePane) VBox(javafx.scene.layout.VBox) SelectWorkspaceView(com.kyj.fx.voeditor.visual.component.popup.SelectWorkspaceView) PMDCheckedListComposite(com.kyj.fx.voeditor.visual.component.pmd.PMDCheckedListComposite) Parent(javafx.scene.Parent) JavaProjectMemberFileTreeItem(com.kyj.fx.voeditor.visual.component.JavaProjectMemberFileTreeItem) ContextMenu(javafx.scene.control.ContextMenu) GargoyleExtensionFilters(com.kyj.fx.voeditor.visual.util.GargoyleExtensionFilters) CommonsSqllPan(com.kyj.fx.voeditor.visual.component.sql.view.CommonsSqllPan) WindowEvent(javafx.stage.WindowEvent) FXMLTextView(com.kyj.fx.voeditor.visual.component.popup.FXMLTextView) GagoyleWorkspaceOpenResourceView(com.kyj.fx.voeditor.visual.component.popup.GagoyleWorkspaceOpenResourceView) TextField(javafx.scene.control.TextField) Main(com.kyj.fx.voeditor.visual.main.Main) MenuItem(javafx.scene.control.MenuItem) PMDUtil(com.kyj.fx.voeditor.visual.util.PMDUtil) SimpleTextView(com.kyj.fx.voeditor.visual.component.text.SimpleTextView) ConfigResourceLoader(com.kyj.fx.voeditor.visual.momory.ConfigResourceLoader) DockTab(com.kyj.fx.voeditor.visual.component.dock.tab.DockTab) TreeView(javafx.scene.control.TreeView) JarWrapper(com.kyj.fx.voeditor.visual.loder.JarWrapper) FXML(javafx.fxml.FXML) SeparatorMenuItem(javafx.scene.control.SeparatorMenuItem) Priority(javafx.scene.layout.Priority) List(java.util.List) GagoyleParentBeforeLoad(com.kyj.fx.voeditor.visual.framework.GagoyleParentBeforeLoad) SpecTabPane(com.kyj.fx.voeditor.visual.words.spec.auto.msword.ui.tabs.SpecTabPane) GagoyleParentOnLoaded(com.kyj.fx.voeditor.visual.framework.GagoyleParentOnLoaded) Optional(java.util.Optional) LogViewComposite(com.kyj.fx.voeditor.visual.component.text.LogViewComposite) DateUtil(com.kyj.fx.voeditor.visual.util.DateUtil) ReadOnlyConsole(com.kyj.fx.voeditor.visual.component.console.ReadOnlyConsole) Scene(javafx.scene.Scene) DockTabPane(com.kyj.fx.voeditor.visual.component.dock.tab.DockTabPane) DesignerFxComposite(com.kyj.fx.voeditor.visual.component.pmd.DesignerFxComposite) BigTextView(com.kyj.fx.voeditor.visual.component.popup.BigTextView) JavaProcessMonitor(com.kyj.fx.voeditor.visual.component.bci.view.JavaProcessMonitor) MouseEvent(javafx.scene.input.MouseEvent) WebViewConsole(com.kyj.fx.voeditor.visual.component.console.WebViewConsole) FileWrapper(com.kyj.fx.voeditor.visual.component.FileWrapper) ProgramSpecUtil(com.kyj.fx.voeditor.visual.words.spec.auto.msword.util.ProgramSpecUtil) JavaTextView(com.kyj.fx.voeditor.visual.component.popup.JavaTextView) Tooltip(javafx.scene.control.Tooltip) GargoyleException(com.kyj.fx.voeditor.visual.exceptions.GargoyleException) KeyCode(javafx.scene.input.KeyCode) WebView(javafx.scene.web.WebView) ObjectProperty(javafx.beans.property.ObjectProperty) Logger(org.slf4j.Logger) CaptureScreenComposite(com.kyj.fx.voeditor.visual.component.capture.CaptureScreenComposite) ProxyServerComposite(com.kyj.fx.voeditor.visual.component.proxy.ProxyServerComposite) ValueUtil(com.kyj.fx.voeditor.visual.util.ValueUtil) FileInputStream(java.io.FileInputStream) ProjectFileTreeItemCreator(com.kyj.fx.voeditor.visual.component.ProjectFileTreeItemCreator) ActionEvent(javafx.event.ActionEvent) SystemConsole(com.kyj.fx.voeditor.visual.component.console.SystemConsole) Stage(javafx.stage.Stage) Closeable(java.io.Closeable) ExtensionFilter(javafx.stage.FileChooser.ExtensionFilter) InputStream(java.io.InputStream) SharedMemory(com.kyj.fx.voeditor.visual.momory.SharedMemory) Parent(javafx.scene.Parent) Image(javafx.scene.image.Image) FXMLLoader(javafx.fxml.FXMLLoader) JarWrapper(com.kyj.fx.voeditor.visual.loder.JarWrapper) ObservableList(javafx.collections.ObservableList) List(java.util.List) ImageView(javafx.scene.image.ImageView) TitledPane(javafx.scene.control.TitledPane) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) MenuItem(javafx.scene.control.MenuItem) SeparatorMenuItem(javafx.scene.control.SeparatorMenuItem) IOException(java.io.IOException) IOException(java.io.IOException) GargoyleException(com.kyj.fx.voeditor.visual.exceptions.GargoyleException) DockTab(com.kyj.fx.voeditor.visual.component.dock.tab.DockTab) File(java.io.File) WebViewConsole(com.kyj.fx.voeditor.visual.component.console.WebViewConsole) FXML(javafx.fxml.FXML)

Example 42 with FXMLLoader

use of javafx.fxml.FXMLLoader in project Gargoyle by callakrsos.

the class Main method loadMainLayout.

/********************************
	 * 작성일 : 2016. 7. 26. 작성자 : KYJ
	 *
	 * Appliucation 메인로직.
	 *
	 * @return
	 * @throws IOException
	 ********************************/
BorderPane loadMainLayout() throws IOException {
    FXMLLoader loader = new FXMLLoader();
    loader.setLocation(Main.class.getResource("layout/SystemLayoutView.fxml"));
    BorderPane borderpane = loader.load();
    return borderpane;
}
Also used : BorderPane(javafx.scene.layout.BorderPane) FXMLLoader(javafx.fxml.FXMLLoader)

Example 43 with FXMLLoader

use of javafx.fxml.FXMLLoader in project jabref by JabRef.

the class ControlHelper method loadFXMLForControl.

/**
     * Loads the FXML file associated to the passed control.
     * The FMXL file should have the same name as the control with ending ".fxml" appended
     */
public static void loadFXMLForControl(Parent control) {
    Class<?> clazz = control.getClass();
    String clazzName = clazz.getSimpleName();
    FXMLLoader fxmlLoader = new FXMLLoader(clazz.getResource(clazzName + ".fxml"), Localization.getMessages());
    fxmlLoader.setController(control);
    fxmlLoader.setRoot(control);
    try {
        fxmlLoader.load();
        // Add our base css file
        control.getStylesheets().add(0, AbstractView.class.getResource("Main.css").toExternalForm());
    // Add language resource
    } catch (IOException exception) {
        LOGGER.error(exception);
    }
}
Also used : IOException(java.io.IOException) FXMLLoader(javafx.fxml.FXMLLoader)

Example 44 with FXMLLoader

use of javafx.fxml.FXMLLoader in project Gargoyle by callakrsos.

the class DialogUtil method open.

/**
	 * 특정 location에 위치한 fxml파일을 팝업형태로 로드한다.
	 *
	 * @Date 2015. 10. 15.
	 * @param packageLocation
	 * @param fxmlName
	 * @param width
	 * @param height
	 * @param modal
	 * @throws IOException
	 * @User KYJ
	 */
public static void open(Class<?> packageLocation, String fxmlName, int width, int height, boolean modal) throws IOException {
    FXMLLoader loader = new FXMLLoader();
    loader.setLocation(packageLocation.getResource(fxmlName));
    Parent parent = loader.load();
    BorderPane borderPane = new BorderPane(parent);
    Stage stage = new Stage();
    Scene scene = new Scene(borderPane, width, height);
    stage.setScene(scene);
    if (modal)
        stage.initModality(Modality.WINDOW_MODAL);
    stage.setAlwaysOnTop(true);
    stage.initOwner(SharedMemory.getPrimaryStage());
    stage.show();
// stage.setScene(borderPane, 800, 500);
}
Also used : BorderPane(javafx.scene.layout.BorderPane) Parent(javafx.scene.Parent) Stage(javafx.stage.Stage) Scene(javafx.scene.Scene) FXMLLoader(javafx.fxml.FXMLLoader)

Example 45 with FXMLLoader

use of javafx.fxml.FXMLLoader in project Gargoyle by callakrsos.

the class TextCompareExam method start.

@Override
public void start(Stage primaryStage) throws Exception {
    FXMLLoader loader = new FXMLLoader();
    loader.setLocation(DiffAppController.class.getResource("TextBaseDiffApp.fxml"));
    BorderPane load = loader.load();
    loader.getController();
    // ReadOnlyConsole center = ReadOnlySingletonConsole.getInstance();
    //
    // BorderPane borderPane = new BorderPane(center);
    // borderPane.getStylesheets().add(SkinManager.getInstance().getSkin());
    // Button button = new Button("테스트");
    // TextField textField = new TextField();
    //
    // button.setOnMouseClicked(event -> {
    // center.appendText(textField.getText());
    // });
    Scene scene = new Scene(load);
    primaryStage.setScene(scene);
    primaryStage.show();
}
Also used : DiffAppController(com.kyj.fx.voeditor.visual.component.DiffAppController) BorderPane(javafx.scene.layout.BorderPane) Scene(javafx.scene.Scene) FXMLLoader(javafx.fxml.FXMLLoader)

Aggregations

FXMLLoader (javafx.fxml.FXMLLoader)252 IOException (java.io.IOException)148 Scene (javafx.scene.Scene)120 Parent (javafx.scene.Parent)79 Stage (javafx.stage.Stage)64 FXML (javafx.fxml.FXML)46 URL (java.net.URL)43 Pane (javafx.scene.layout.Pane)34 BorderPane (javafx.scene.layout.BorderPane)30 AnchorPane (javafx.scene.layout.AnchorPane)24 ActionEvent (javafx.event.ActionEvent)19 ResourceBundle (java.util.ResourceBundle)16 Initializable (javafx.fxml.Initializable)14 JFXButton (com.jfoenix.controls.JFXButton)13 KeyFrame (javafx.animation.KeyFrame)13 Timeline (javafx.animation.Timeline)13 StackPane (javafx.scene.layout.StackPane)13 Duration (javafx.util.Duration)13 Level (java.util.logging.Level)12 Logger (java.util.logging.Logger)12