Java Code Examples for javafx.scene.control.SplitPane#setOrientation()
The following examples show how to use
javafx.scene.control.SplitPane#setOrientation() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ScanEditor.java From phoebus with Eclipse Public License 1.0 | 6 votes |
public ScanEditor() { // toolbar | palette // --------- | // scan_tree | ---------- // | // | properties toolbar = createToolbar(); VBox.setVgrow(scan_tree, Priority.ALWAYS); final VBox left_stack = new VBox(toolbar, scan_tree); right_stack = new SplitPane(new Palette(model, undo), new Properties(this, scan_tree, undo)); right_stack.setOrientation(Orientation.VERTICAL); getItems().setAll(left_stack, right_stack); setDividerPositions(0.6); updateScanInfo(null); createContextMenu(); }
Example 2
Source File: SelectLyricsPanel.java From Quelea with GNU General Public License v3.0 | 6 votes |
/** * Create a new lyrics panel. * <p/> * @param containerPanel the container panel this panel is contained within. */ public SelectLyricsPanel(LivePreviewPanel containerPanel) { lyricDrawer = new LyricDrawer(); stageDrawer = new StageDrawer(); splitPane = new SplitPane(); splitPane.setOrientation(Orientation.VERTICAL); lyricsList = new SelectLyricsList(); previewCanvas = new DisplayCanvas(false, false, false, this::updateCanvas, Priority.LOW); DisplayPreview preview = new DisplayPreview(previewCanvas); splitPane.getItems().add(lyricsList); splitPane.getItems().add(preview); setCenter(splitPane); registerDisplayCanvas(previewCanvas); lyricsList.getSelectionModel().selectedItemProperty().addListener((ov, t1, t2) -> { updateCanvas(); }); lyricsList.itemsProperty().addListener((ov, t1, t2) -> { updateCanvas(); }); // }
Example 3
Source File: TestRunner.java From marathonv5 with Apache License 2.0 | 5 votes |
private Node getPane() { SplitPane splitPane = new SplitPane(); splitPane.setOrientation(Orientation.VERTICAL); initTopPane(); failureStackView = new FailureDetailView(); splitPane.getItems().addAll(topPane, failureStackView); return splitPane; }
Example 4
Source File: MainController.java From Augendiagnose with GNU General Public License v2.0 | 5 votes |
/** * Set split pane. * * @param initialFill * The FXML file defining the initial content of the new pane. */ public final void setSplitPane(final String initialFill) { if (mIsSplitPane) { return; } mIsSplitPane = true; StackPane body1 = new StackPane(); StackPane body2 = new StackPane(); SplitPane splitPane = new SplitPane(); splitPane.setOrientation(Orientation.HORIZONTAL); splitPane.getItems().add(body1); splitPane.getItems().add(body2); mBodies = new StackPane[] {body1, body2, mBody}; if (initialFill != null) { FxmlUtil.displaySubpage(initialFill, 1, false); } // put lowest two elements to left pane. ObservableList<Node> children = mBody.getChildren(); if (children.size() > 0) { body1.getChildren().addAll(children.subList(0, Math.min(2, children.size()))); } // put other elements to right pane. if (children.size() > 0) { body2.getChildren().addAll(children); } children.clear(); children.add(splitPane); refreshSubPagesOnResize(); }
Example 5
Source File: MainWindow.java From Recaf with MIT License | 5 votes |
private void setup() { stage.getIcons().add(new Image(resource("icons/logo.png"))); stage.setTitle("Recaf"); menubar = new MainMenu(controller); root = new BorderPane(); root.setTop(menubar); navRoot = new BorderPane(); viewRoot = new BorderPane(); tabs = new ViewportTabs(controller); SplitPane split = new SplitPane(); split.setOrientation(Orientation.HORIZONTAL); split.getItems().addAll(navRoot, viewRoot); split.setDividerPositions(0.333); SplitPane.setResizableWithParent(navRoot, Boolean.FALSE); root.setCenter(split); viewRoot.setCenter(tabs); // Navigation updateWorkspaceNavigator(); Recaf.getWorkspaceSetListeners().add(w -> updateWorkspaceNavigator()); // Create scene & display the window Scene scene = new Scene(root, 800, 600); controller.windows().reapplyStyle(scene); controller.config().keys().registerMainWindowKeys(controller, stage, scene); stage.setScene(scene); // Show update prompt if (SelfUpdater.hasUpdate()) UpdateWindow.create(this).show(root); }
Example 6
Source File: TracesTab.java From phoebus with Eclipse Public License 1.0 | 5 votes |
TracesTab(final Model model, final UndoableActionManager undo) { super(Messages.TracesTab); this.model = model; this.undo = undo; // Top: Traces createTraceTable(); // Bottom: Archives for selected trace createArchivesTable(); createDetailSection(); archives_table.setVisible(false); formula_pane.setVisible(false); final StackPane details = new StackPane(lower_placeholder, archives_table, formula_pane); trace_table.setPlaceholder(new Label(Messages.TraceTableEmpty)); final SplitPane top_bottom = new SplitPane(trace_table, details); top_bottom.setOrientation(Orientation.VERTICAL); Platform.runLater(() -> top_bottom.setDividerPositions(0.7)); setContent(top_bottom); createContextMenu(); model.addListener(model_listener); updateFromModel(); trace_table.getSelectionModel().getSelectedItems().addListener(selection_changed); }
Example 7
Source File: AlarmTableUI.java From phoebus with Eclipse Public License 1.0 | 5 votes |
public AlarmTableUI(final AlarmClient client) { this.client = client; toolbar = createToolbar(); // When user resizes columns, update them in the 'other' table active.setColumnResizePolicy(new LinkedColumnResize(active, acknowledged)); acknowledged.setColumnResizePolicy(new LinkedColumnResize(acknowledged, active)); // When user sorts column, apply the same to the 'other' table active.getSortOrder().addListener(new LinkedColumnSorter(active, acknowledged)); acknowledged.getSortOrder().addListener(new LinkedColumnSorter(acknowledged, active)); // Insets make ack. count appear similar to the active count, // which is laid out based on the ack/unack/search buttons in the toolbar acknowledged_count.setPadding(new Insets(10, 0, 10, 5)); VBox.setVgrow(acknowledged, Priority.ALWAYS); final VBox bottom = new VBox(acknowledged_count, acknowledged); // Overall layout: // Toolbar // Top section of split: Active alarms // Bottom section o. s.: Ack'ed alarms split = new SplitPane(active, bottom); split.setOrientation(Orientation.VERTICAL); setTop(toolbar); setCenter(split); }
Example 8
Source File: MainPanel.java From Quelea with GNU General Public License v3.0 | 5 votes |
/** * Create the new main panel. */ public MainPanel() { LOGGER.log(Level.INFO, "Creating schedule panel"); schedulePanel = new SchedulePanel(); LOGGER.log(Level.INFO, "Creating library panel"); libraryPanel = new LibraryPanel(); LOGGER.log(Level.INFO, "Creating preview panel"); previewPanel = new PreviewPanel(); LOGGER.log(Level.INFO, "Creating live panel"); livePanel = new LivePanel(); LOGGER.log(Level.INFO, "Creating split panels"); scheduleAndLibrary = new SplitPane(); scheduleAndLibrary.setMinWidth(160); scheduleAndLibrary.setOrientation(Orientation.VERTICAL); scheduleAndLibrary.getItems().add(schedulePanel); scheduleAndLibrary.getItems().add(libraryPanel); previewPanel.getLyricsPanel().getSplitPane().getDividers().get(0).positionProperty(). bindBidirectional(livePanel.getLyricsPanel().getSplitPane().getDividers().get(0).positionProperty()); previewPanel.getLyricsPanel().getSplitPane().setDividerPositions(0.58); livePanel.getLyricsPanel().getSplitPane().setDividerPositions(0.58); mainSplit = new SplitPane(); mainSplit.setOrientation(Orientation.HORIZONTAL); mainSplit.getItems().add(scheduleAndLibrary); mainSplit.getItems().add(previewPanel); mainSplit.getItems().add(livePanel); setCenter(mainSplit); statusPanelGroup = new StatusPanelGroup(); setBottom(statusPanelGroup); LOGGER.log(Level.INFO, "Created main panel"); }
Example 9
Source File: FeatureOverviewWindow.java From mzmine3 with GNU General Public License v2.0 | 5 votes |
private SplitPane addSpectraMS2() { SplitPane pane = new SplitPane(); pane.setOrientation(Orientation.HORIZONTAL); SpectraVisualizerWindow spectraWindowMS2 = new SpectraVisualizerWindow(rawFiles[0]); spectraWindowMS2.loadRawData(rawFiles[0].getScan(feature.getMostIntenseFragmentScanNumber())); pane.getItems().add(spectraWindowMS2.getScene().getRoot()); return pane; }
Example 10
Source File: FeatureOverviewWindow.java From mzmine3 with GNU General Public License v2.0 | 5 votes |
private SplitPane addSpectraMS1() { SplitPane pane = new SplitPane(); pane.setOrientation(Orientation.HORIZONTAL); SpectraVisualizerWindow spectraWindowMS1 = new SpectraVisualizerWindow(rawFiles[0]); spectraWindowMS1.loadRawData(rawFiles[0].getScan(feature.getRepresentativeScanNumber())); pane.getItems().add(spectraWindowMS1.getScene().getRoot()); return pane; }
Example 11
Source File: FeatureOverviewWindow.java From mzmine3 with GNU General Public License v2.0 | 5 votes |
private SplitPane addTicPlot(PeakListRow row) { SplitPane pane = new SplitPane(); pane.setOrientation(Orientation.HORIZONTAL); // labels for TIC visualizer Map<Feature, String> labelsMap = new HashMap<Feature, String>(0); // scan selection ScanSelection scanSelection = new ScanSelection(rawFiles[0].getDataRTRange(1), 1); // mz range Range<Double> mzRange = null; mzRange = feature.getRawDataPointsMZRange(); // optimize output by extending the range double upper = mzRange.upperEndpoint(); double lower = mzRange.lowerEndpoint(); double fiveppm = (upper * 5E-6); mzRange = Range.closed(lower - fiveppm, upper + fiveppm); // labels labelsMap.put(feature, feature.toString()); List<Feature> featureSelection = Arrays.asList(row.getPeaks()); TICVisualizerWindow window = new TICVisualizerWindow(rawFiles, // raw TICPlotType.BASEPEAK, // plot type scanSelection, // scan selection mzRange, // mz range featureSelection, // selected features labelsMap); // labels pane.getItems().add(window.getScene().getRoot()); return pane; }
Example 12
Source File: MainLayout.java From redtorch with MIT License | 4 votes |
private void createLayout() { vBox.getChildren().add(crearteMainMenuBar()); // 左右切分布局------------------------ SplitPane horizontalSplitPane = new SplitPane(); horizontalSplitPane.setDividerPositions(0.5); vBox.getChildren().add(horizontalSplitPane); VBox.setVgrow(horizontalSplitPane, Priority.ALWAYS); // 左右切分布局----左侧上下切分布局--------- SplitPane leftVerticalSplitPane = new SplitPane(); leftVerticalSplitPane.setDividerPositions(0.4); horizontalSplitPane.getItems().add(leftVerticalSplitPane); leftVerticalSplitPane.setOrientation(Orientation.VERTICAL); // 左右切分布局----左侧上下切分布局----上布局----- SplitPane leftTopHorizontalSplitPane = new SplitPane(); leftVerticalSplitPane.getItems().add(leftTopHorizontalSplitPane); HBox leftTopRithtPane = new HBox(); Node orderPanelLayoutNode = orderPanelLayout.getNode(); HBox.setHgrow(orderPanelLayoutNode, Priority.ALWAYS); ScrollPane marketDetailsScrollPane = new ScrollPane(); Node marketDetailsNode = marketDetailsLayout.getNode(); marketDetailsScrollPane.setContent(marketDetailsNode); marketDetailsScrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); marketDetailsScrollPane.setPrefWidth(253); marketDetailsScrollPane.setMinWidth(253); marketDetailsScrollPane.setMaxWidth(253); leftTopRithtPane.getChildren().addAll(marketDetailsScrollPane, orderPanelLayoutNode); leftTopRithtPane.setMaxWidth(680); leftTopRithtPane.setPrefWidth(680); leftTopHorizontalSplitPane.getItems().addAll(tickLayout.getNode(), leftTopRithtPane); SplitPane.setResizableWithParent(leftTopRithtPane, false); // 左右切分布局----左侧上下切分布局----下布局----- TabPane leftBootomTabPane = new TabPane(); leftVerticalSplitPane.getItems().add(leftBootomTabPane); Tab orderTab = new Tab("定单"); leftBootomTabPane.getTabs().add(orderTab); orderTab.setClosable(false); orderTab.setContent(orderLayout.getNode()); Tab tradeTab = new Tab("成交"); leftBootomTabPane.getTabs().add(tradeTab); tradeTab.setClosable(false); tradeTab.setContent(tradeLayout.getNode()); // 左右切分布局----右侧TAB布局------------- TabPane rightTabPane = new TabPane(); horizontalSplitPane.getItems().add(rightTabPane); Tab portfolioInvestmentTab = new Tab("投资组合"); rightTabPane.getTabs().add(portfolioInvestmentTab); portfolioInvestmentTab.setClosable(false); SplitPane portfolioVerticalSplitPane = new SplitPane(); portfolioInvestmentTab.setContent(portfolioVerticalSplitPane); portfolioVerticalSplitPane.setOrientation(Orientation.VERTICAL); VBox.setVgrow(portfolioVerticalSplitPane, Priority.ALWAYS); VBox portfolioVBox = new VBox(); portfolioVBox.getChildren().add(combinationLayout.getNode()); portfolioVBox.getChildren().add(accountLayout.getNode()); VBox.setVgrow(accountLayout.getNode(), Priority.ALWAYS); portfolioVerticalSplitPane.getItems().add(portfolioVBox); portfolioVerticalSplitPane.getItems().add(positionLayout.getNode()); Tab allContractTab = new Tab("全部合约"); allContractTab.setContent(contractLayout.getNode()); rightTabPane.getTabs().add(allContractTab); allContractTab.setClosable(false); // 状态栏------------------------------ vBox.getChildren().add(createStatusBar()); }
Example 13
Source File: IconEditorFactory.java From constellation with Apache License 2.0 | 4 votes |
@Override protected Node createEditorControls() { final GridPane controls = new GridPane(); controls.setAlignment(Pos.CENTER); controls.setVgap(CONTROLS_DEFAULT_VERTICAL_SPACING); final ColumnConstraints cc = new ColumnConstraints(); cc.setHgrow(Priority.ALWAYS); controls.getColumnConstraints().add(cc); final RowConstraints rc = new RowConstraints(); rc.setVgrow(Priority.ALWAYS); controls.getRowConstraints().add(rc); // build tree structure of icon final IconNode builtInNode = new IconNode("(Built-in)", IconManager.getIconNames(false)); //convert structure to jfx treeview builtInItem = new TreeItem<>(builtInNode); addNode(builtInItem, builtInNode); // set listview factory to display icon listView = new ListView<>(); listView.setCellFactory(param -> new IconNodeCell()); listView.getStyleClass().add("rounded"); listView.getSelectionModel().selectedItemProperty().addListener((v, o, n) -> { update(); }); treeRoot = new TreeItem<>(new IconNode("Icons", new HashSet<>())); treeRoot.setExpanded(true); treeView = new TreeView<>(); treeView.setShowRoot(true); treeView.setRoot(treeRoot); treeView.getStyleClass().add("rounded"); treeView.setOnMouseClicked((MouseEvent event) -> { refreshIconList(); }); final SplitPane splitPane = new SplitPane(); splitPane.setId("hiddenSplitter"); splitPane.setOrientation(Orientation.HORIZONTAL); splitPane.getItems().add(treeView); splitPane.getItems().add(listView); controls.addRow(0, splitPane); final HBox addRemoveBox = createAddRemoveBox(); controls.addRow(1, addRemoveBox); return controls; }
Example 14
Source File: FeatureOverviewWindow.java From mzmine3 with GNU General Public License v2.0 | 4 votes |
public FeatureOverviewWindow(PeakListRow row) { mainPane = new BorderPane(); mainScene = new Scene(mainPane); // Use main CSS mainScene.getStylesheets() .addAll(MZmineCore.getDesktop().getMainWindow().getScene().getStylesheets()); setScene(mainScene); this.feature = row.getBestPeak(); rawFiles = row.getRawDataFiles(); // setBackground(Color.white); // setDefaultCloseOperation(DISPOSE_ON_CLOSE); SplitPane splitPaneCenter = new SplitPane(); splitPaneCenter.setOrientation(Orientation.HORIZONTAL); mainPane.setCenter(splitPaneCenter); // split pane left for plots SplitPane splitPaneLeftPlot = new SplitPane(); splitPaneLeftPlot.setOrientation(Orientation.VERTICAL); splitPaneCenter.getItems().add(splitPaneLeftPlot); // add Tic plots splitPaneLeftPlot.getItems().add(addTicPlot(row)); // add feature data summary splitPaneLeftPlot.getItems().add(addFeatureDataSummary(row)); // split pane right SplitPane splitPaneRight = new SplitPane(); splitPaneRight.setOrientation(Orientation.VERTICAL); splitPaneCenter.getItems().add(splitPaneRight); // add spectra MS1 splitPaneRight.getItems().add(addSpectraMS1()); // add Spectra MS2 if (feature.getMostIntenseFragmentScanNumber() > 0) { splitPaneRight.getItems().add(addSpectraMS2()); } else { FlowPane noMSMSPanel = new FlowPane(); Label noMSMSScansFound = new Label("Sorry, no MS/MS scans found!"); // noMSMSScansFound.setFont(new Font("Dialog", Font.BOLD, 16)); // noMSMSScansFound.setForeground(Color.RED); noMSMSPanel.getChildren().add(noMSMSScansFound); splitPaneRight.getItems().add(noMSMSPanel); } // Add the Windows menu WindowsMenu.addWindowsMenu(mainScene); this.show(); }
Example 15
Source File: FeatureLayerRenderingModeSceneSample.java From arcgis-runtime-samples-java with Apache License 2.0 | 4 votes |
@Override public void start(Stage stage) { try { // create splitPane pane and JavaFX app scene SplitPane splitPane = new SplitPane(); splitPane.setOrientation(Orientation.VERTICAL); Scene fxScene = new Scene(splitPane); // set title, size, and add JavaFX scene to stage stage.setTitle("Feature Layer Rendering Mode Scene Sample"); stage.setWidth(800); stage.setHeight(700); stage.setScene(fxScene); stage.show(); // create a scene (top) and set it to render all features in static rendering mode ArcGISScene sceneTop = new ArcGISScene(); sceneTop.getLoadSettings().setPreferredPointFeatureRenderingMode(FeatureLayer.RenderingMode.STATIC); sceneTop.getLoadSettings().setPreferredPolylineFeatureRenderingMode(FeatureLayer.RenderingMode.STATIC); sceneTop.getLoadSettings().setPreferredPolygonFeatureRenderingMode(FeatureLayer.RenderingMode.STATIC); // create a scene (bottom) and set it to render all features in dynamic rendering mode ArcGISScene sceneBottom = new ArcGISScene(); sceneBottom.getLoadSettings().setPreferredPointFeatureRenderingMode(FeatureLayer.RenderingMode.DYNAMIC); sceneBottom.getLoadSettings().setPreferredPolylineFeatureRenderingMode(FeatureLayer.RenderingMode.DYNAMIC); sceneBottom.getLoadSettings().setPreferredPolygonFeatureRenderingMode(FeatureLayer.RenderingMode.DYNAMIC); // creating top scene view sceneViewTop = new SceneView(); sceneViewTop.setArcGISScene(sceneTop); splitPane.getItems().add(sceneViewTop); // creating bottom scene view sceneViewBottom = new SceneView(); sceneViewBottom.setArcGISScene(sceneBottom); splitPane.getItems().add(sceneViewBottom); // create service feature table using a point, polyline, and polygon service ServiceFeatureTable pointServiceFeatureTable = new ServiceFeatureTable("https://sampleserver6.arcgisonline.com/arcgis/rest/services/Energy/Geology/FeatureServer/0"); ServiceFeatureTable polylineServiceFeatureTable = new ServiceFeatureTable("https://sampleserver6.arcgisonline.com/arcgis/rest/services/Energy/Geology/FeatureServer/8"); ServiceFeatureTable polygonServiceFeatureTable = new ServiceFeatureTable("https://sampleserver6.arcgisonline.com/arcgis/rest/services/Energy/Geology/FeatureServer/9"); // create feature layer from service feature tables FeatureLayer pointFeatureLayer = new FeatureLayer(pointServiceFeatureTable); FeatureLayer polylineFeatureLayer = new FeatureLayer(polylineServiceFeatureTable); FeatureLayer polygonFeatureLayer = new FeatureLayer(polygonServiceFeatureTable); // add each layer to top and bottom scene sceneTop.getOperationalLayers().addAll(Arrays.asList(pointFeatureLayer, polylineFeatureLayer, polygonFeatureLayer)); sceneBottom.getOperationalLayers().addAll(Arrays.asList(pointFeatureLayer.copy(), polylineFeatureLayer.copy(), polygonFeatureLayer.copy())); // camera locations for camera to zoom in and out to Camera zoomOutCamera = new Camera(new Point(-118.37, 34.46, SpatialReferences.getWgs84()), 42000, 0, 0, 0); Camera zoomInCamera = new Camera(new Point(-118.45, 34.395, SpatialReferences.getWgs84()), 2500, 90, 75, 0); sceneViewTop.setViewpointCamera(zoomOutCamera); sceneViewBottom.setViewpointCamera(zoomOutCamera); //loop an animation into and out from the zoom in point (5 seconds each) with a 2 second gap between zooming timeline = new Timeline(); timeline.setCycleCount(Animation.INDEFINITE); timeline.getKeyFrames().add(new KeyFrame(Duration.seconds(7), event -> zoomTo(zoomOutCamera))); timeline.getKeyFrames().add(new KeyFrame(Duration.seconds(14), event -> zoomTo(zoomInCamera))); timeline.play(); } catch (Exception e) { // on any error, display the stack trace. e.printStackTrace(); } }
Example 16
Source File: SyncMapAndSceneViewpointsSample.java From arcgis-runtime-samples-java with Apache License 2.0 | 4 votes |
@Override public void start(Stage stage) { try { // create split pane and JavaFX app scene SplitPane splitPane = new SplitPane(); splitPane.setOrientation(Orientation.HORIZONTAL); Scene fxScene = new Scene(splitPane); // set title, size, and add JavaFX scene to stage stage.setTitle("Sync Map and Scene Viewpoints"); stage.setWidth(1000); stage.setHeight(700); stage.setScene(fxScene); stage.show(); // create a map and add a basemap to it ArcGISMap map = new ArcGISMap(); map.setBasemap(Basemap.createImagery()); // create a scene and add a basemap to it ArcGISScene scene = new ArcGISScene(); scene.setBasemap(Basemap.createImagery()); // set the map to a map view mapView = new MapView(); mapView.setMap(map); // set the scene to a scene view sceneView = new SceneView(); sceneView.setArcGISScene(scene); // add the map view and scene view to the split plane splitPane.getItems().addAll(mapView, sceneView); // add a viewpoint changed listener to the map view. Access the GeoView class using the event's getSource method mapView.addViewpointChangedListener(viewpointChangedEvent -> synchronizeViewpoints(viewpointChangedEvent.getSource())); // add a viewpoint changed listener to the scene view. Access the GeoView class using the event's getSource method sceneView.addViewpointChangedListener(viewpointChangedEvent -> synchronizeViewpoints(viewpointChangedEvent.getSource())); // create a list of GeoViews being navigated geoViewList = new ArrayList<>(); geoViewList.add(mapView); geoViewList.add(sceneView); } catch (Exception e) { // on any error, display the stack trace e.printStackTrace(); } }
Example 17
Source File: FeatureLayerRenderingModeMapSample.java From arcgis-runtime-samples-java with Apache License 2.0 | 4 votes |
@Override public void start(Stage stage) { try { // create splitPane pane and JavaFX app scene SplitPane splitPane = new SplitPane(); splitPane.setOrientation(Orientation.VERTICAL); Scene fxScene = new Scene(splitPane); // set title, size, and add JavaFX scene to stage stage.setTitle("Feature Layer Rendering Mode Map Sample"); stage.setWidth(800); stage.setHeight(700); stage.setScene(fxScene); stage.show(); // create a map (top) and set it to render all features in static rendering mode ArcGISMap mapTop = new ArcGISMap(); mapTop.getLoadSettings().setPreferredPointFeatureRenderingMode(FeatureLayer.RenderingMode.STATIC); mapTop.getLoadSettings().setPreferredPolylineFeatureRenderingMode(FeatureLayer.RenderingMode.STATIC); mapTop.getLoadSettings().setPreferredPolygonFeatureRenderingMode(FeatureLayer.RenderingMode.STATIC); // create a map (bottom) and set it to render all features in dynamic rendering mode ArcGISMap mapBottom = new ArcGISMap(); mapBottom.getLoadSettings().setPreferredPointFeatureRenderingMode(FeatureLayer.RenderingMode.DYNAMIC); mapBottom.getLoadSettings().setPreferredPolylineFeatureRenderingMode(FeatureLayer.RenderingMode.DYNAMIC); mapBottom.getLoadSettings().setPreferredPolygonFeatureRenderingMode(FeatureLayer.RenderingMode.DYNAMIC); // creating top map view mapViewTop = new MapView(); mapViewTop.setMap(mapTop); splitPane.getItems().add(mapViewTop); // creating bottom map view mapViewBottom = new MapView(); mapViewBottom.setMap(mapBottom); splitPane.getItems().add(mapViewBottom); // create service feature table using a point, polyline, and polygon service ServiceFeatureTable pointServiceFeatureTable = new ServiceFeatureTable("https://sampleserver6.arcgisonline.com/arcgis/rest/services/Energy/Geology/FeatureServer/0"); ServiceFeatureTable polylineServiceFeatureTable = new ServiceFeatureTable("https://sampleserver6.arcgisonline.com/arcgis/rest/services/Energy/Geology/FeatureServer/8"); ServiceFeatureTable polygonServiceFeatureTable = new ServiceFeatureTable("https://sampleserver6.arcgisonline.com/arcgis/rest/services/Energy/Geology/FeatureServer/9"); // create feature layer from service feature tables FeatureLayer pointFeatureLayer = new FeatureLayer(pointServiceFeatureTable); FeatureLayer polylineFeatureLayer = new FeatureLayer(polylineServiceFeatureTable); FeatureLayer polygonFeatureLayer = new FeatureLayer(polygonServiceFeatureTable); // add each layer to top and bottom map mapTop.getOperationalLayers().addAll(Arrays.asList(pointFeatureLayer, polylineFeatureLayer, polygonFeatureLayer)); mapBottom.getOperationalLayers().addAll(Arrays.asList(pointFeatureLayer.copy(), polylineFeatureLayer.copy(), polygonFeatureLayer.copy())); // viewpoint locations for map view to zoom in and out to Viewpoint zoomOutPoint = new Viewpoint(new Point(-118.37, 34.46, SpatialReferences.getWgs84()), 650000, 0); Viewpoint zoomInPoint = new Viewpoint(new Point(-118.45, 34.395, SpatialReferences.getWgs84()), 50000, 90); mapViewTop.setViewpoint(zoomOutPoint); mapViewBottom.setViewpoint(zoomOutPoint); //loop an animation into and out from the zoom in point (5 seconds each) with a 2 second gap between zooming timeline = new Timeline(); timeline.setCycleCount(Animation.INDEFINITE); timeline.getKeyFrames().add(new KeyFrame(Duration.seconds(7), event -> zoomTo(zoomInPoint))); timeline.getKeyFrames().add(new KeyFrame(Duration.seconds(14), event -> zoomTo(zoomOutPoint))); timeline.play(); } catch (Exception e) { // on any error, display the stack trace. e.printStackTrace(); } }
Example 18
Source File: IsotopePatternPreviewDialog.java From mzmine3 with GNU General Public License v2.0 | 4 votes |
public IsotopePatternPreviewDialog(boolean valueCheckRequired, ParameterSet parameters) { super(valueCheckRequired, parameters); aboveMin = new Color(30, 180, 30); belowMin = new Color(200, 30, 30); lastCalc = 0; newParameters = false; // task = new IsotopePatternPreviewTask(formula, minIntensity, // mergeWidth, charge, pol, this); // thread = new Thread(task); pFormula = parameterSet.getParameter(IsotopePatternPreviewParameters.formula); pMinIntensity = parameterSet.getParameter(IsotopePatternPreviewParameters.minIntensity); pMergeWidth = parameterSet.getParameter(IsotopePatternPreviewParameters.mergeWidth); pCharge = parameterSet.getParameter(IsotopePatternPreviewParameters.charge); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); cmpMinIntensity = getComponentForParameter(IsotopePatternPreviewParameters.minIntensity); cmpMergeWidth = getComponentForParameter(IsotopePatternPreviewParameters.mergeWidth); cmpCharge = getComponentForParameter(IsotopePatternPreviewParameters.charge); cmpFormula = getComponentForParameter(IsotopePatternPreviewParameters.formula); // panels newMainPanel = new BorderPane(); // pnText = new ScrollPane(); pnlChart = new EChartViewer(chart); table = new TableView<>(); pnSplit = new SplitPane(pnlChart, table); pnSplit.setOrientation(Orientation.HORIZONTAL); pnlParameters = new FlowPane(); pnlControl = new BorderPane(); // pnText.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); // pnText.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); // pnText.setMinimumSize(new Dimension(350, 300)); // pnlChart.setMinimumSize(new Dimension(350, 200)); // pnlChart.setPreferredSize( // TODO: can you do this cleaner? // new Dimension((int) (screenSize.getWidth() / 3), (int) (screenSize.getHeight() / 3))); // table.setMinimumSize(new Dimension(350, 300)); // table.setDefaultEditor(Object.class, null); // controls ttGen = new SpectraToolTipGenerator(); theme = new EIsotopePatternChartTheme(); theme.initialize(); // reorganize mainPane.getChildren().remove(paramsPane); organizeParameterPanel(); pnlControl.setCenter(pnlParameters); pnlControl.setBottom(pnlButtons); newMainPanel.setCenter(pnSplit); newMainPanel.setBottom(pnlControl); mainPane.setCenter(newMainPanel); pnlButtons.getButtons().remove(super.btnCancel); chart = ChartFactory.createXYBarChart("Isotope pattern preview", "m/z", false, "Abundance", new XYSeriesCollection(new XYSeries(""))); pnlChart.setChart(chart); // pnText.setViewportView(table); formatChart(); parametersChanged(); }