List of usage examples for javafx.collections ObservableList get
E get(int index);
From source file:com.saiton.ccs.validations.FormatAndValidate.java
public boolean isValidUniqueTelephoneNumber(ListView listView, String telephone) { boolean valid = true; String telephoneNumber = telephone.trim(); ObservableList<String> list = listView.getItems(); String regex_Number = "([0-9])*"; //Regex pattern for Single Name with initials. Pattern pattern_Number = Pattern.compile(regex_Number); // Pattern Compliler Matcher matcher_Number = pattern_Number.matcher(telephoneNumber); // Pattern Matcher where the Single Name argument is checked with the given pattern boolean matched_Number = matcher_Number.matches(); // Result of the matcher is returned as a boolean for Single Name if (matched_Number == true && telephoneNumber.length() < 14 && telephoneNumber.length() > 9) { if (list.size() != 0 && !telephone.isEmpty()) { for (int i = 0; i < list.size(); i++) { if (list.get(i).equals(telephone)) { valid = false;//from ww w.j a va2 s . c o m } // else { // // valid = false; // // } } } else if (list.size() == 0) { valid = true; } } else { valid = false; } return valid; }
From source file:aajavafx.Schedule1Controller.java
public ObservableList<CustomerProperty> getUnsignedCustomers() throws IOException, JSONException { //Customers customers = new Customers(); EmployeeSchedule mySchedule = new EmployeeSchedule(); singleton = Singleton.getInstance(); Gson gson = new Gson(); ObservableList<CustomerProperty> customerPropertyCustomersSigned = FXCollections.observableArrayList(); ObservableList<CustomerProperty> customerPropertyAllCustomers = this.getCustomer(); JSONObject jo = new JSONObject(); CredentialsProvider provider = new BasicCredentialsProvider(); UsernamePasswordCredentials credentials = new UsernamePasswordCredentials("EMPLOYEE", "password"); provider.setCredentials(AuthScope.ANY, credentials); HttpClient client = HttpClientBuilder.create().setDefaultCredentialsProvider(provider).build(); HttpGet get = new HttpGet("http://localhost:8080/MainServerREST/api/employeeschedule/date/" + getDate()); HttpResponse response = client.execute(get); System.out.println("RESPONSE IS: " + response); JSONArray jsonArray = new JSONArray( IOUtils.toString(response.getEntity().getContent(), Charset.forName("UTF-8"))); System.out.println("1 " + jsonArray); for (int i = 0; i < jsonArray.length(); i++) { jo = (JSONObject) jsonArray.getJSONObject(i); mySchedule = gson.fromJson(jo.toString(), EmployeeSchedule.class); customerPropertyCustomersSigned.add(new CustomerProperty(mySchedule.getCustomersCuId().getCuId(), mySchedule.getCustomersCuId().getCuFirstname(), mySchedule.getCustomersCuId().getCuLastname(), mySchedule.getCustomersCuId().getCuPersonnummer())); }//w w w. j a v a 2 s .co m for (int i = 0; i < customerPropertyAllCustomers.size(); i++) { for (int j = 0; j < customerPropertyCustomersSigned.size(); j++) { if (customerPropertyAllCustomers.get(i).getPersonnumer() .equals(customerPropertyCustomersSigned.get(j).getPersonnumer())) { customerPropertyAllCustomers.remove(i); } } } singleton.setList(customerPropertyAllCustomers); return customerPropertyAllCustomers; }
From source file:com.github.naoghuman.testdata.abclist.service.ExerciseService.java
@Override protected Task<Void> createTask() { return new Task<Void>() { {/*from w ww . jav a 2 s .c o m*/ updateProgress(0, saveMaxEntities); } @Override protected Void call() throws Exception { LoggerFacade.getDefault().deactivate(Boolean.TRUE); final StopWatch stopWatch = new StopWatch(); stopWatch.start(); final ObservableList<Topic> topics = SqlProvider.getDefault().findAllTopics(); final int removeMaxTopics = (int) (Double.parseDouble(String.valueOf(topics.size())) * 0.001d); for (int counter = removeMaxTopics; counter > 0; counter--) { topics.remove(TestdataGenerator.RANDOM.nextInt(topics.size())); } final int sizeTopics = topics.size(); final CrudService crudService = DatabaseFacade.getDefault().getCrudService(entityName); final ETime[] times = ETime.values(); final int sizeTimes = times.length; long id = -1_000_000_000L + DatabaseFacade.getDefault().getCrudService().count(entityName); for (int index = 0; index < saveMaxEntities; index++) { final Exercise exercise = ModelProvider.getDefault().getExercise(); exercise.setChoosenTime((times[TestdataGenerator.RANDOM.nextInt(sizeTimes)]).toString()); exercise.setConsolidated(false); // TODO later ? exercise.setFinishedTime(ExerciseService.this.createGenerationTime()); exercise.setGenerationTime(ExerciseService.this.createGenerationTime()); if (exercise.getGenerationTime() > exercise.getFinishedTime()) { final long generationTime = exercise.getGenerationTime(); final long finishedTime = exercise.getFinishedTime(); exercise.setGenerationTime(finishedTime); exercise.setFinishedTime(generationTime); } exercise.setId(id++); exercise.setReady(TestdataGenerator.RANDOM.nextDouble() > 0.001d); // TODO if ready then add terms final long topicId = topics.get(TestdataGenerator.RANDOM.nextInt(sizeTopics)).getId(); exercise.setTopicId(topicId); crudService.create(exercise); updateProgress(index, saveMaxEntities); } LoggerFacade.getDefault().deactivate(Boolean.FALSE); stopWatch.split(); LoggerFacade.getDefault().debug(this.getClass(), " + " + stopWatch.toSplitString() + " for " + saveMaxEntities + " Exercises."); // NOI18N stopWatch.stop(); return null; } }; }
From source file:org.beryx.viewreka.fxapp.Viewreka.java
public void openFile(File file) { if (file != null && file.isFile()) { String filePath = file.getAbsolutePath(); ObservableList<Tab> tabs = projectTabPane.getTabs(); if (project != null) { if (file.toURI().normalize().equals(project.getScriptUri().normalize())) { menuTabBindingSourceCode.showTab(); return; }//from w ww . j av a2 s. co m ProjectSettings projectSettings = project.getProjectSettingsManager().getSettings(); List<String> openFiles = getOpenFiles(projectSettings); int index = openFiles.indexOf(filePath); if (index >= 0) { if (index >= tabs.size()) { Dialogs.error("Open File error", "Internal error: invalid index (" + index + ") for already open file."); } else { Tab tab = tabs.get(index); if (!filePath.equals(getData(tab).getFilePath())) { Dialogs.error("Open File error", "Internal error: already open file not found at the expected index " + index + "."); } else { projectTabPane.getSelectionModel().select(index); } } return; } } if (file.length() > MAX_TEXT_FILE_LENGTH) { Dialogs.error("Open File error", "File too big (" + file.length() + " bytes)."); return; } if (isProbablyBinary(file)) { if (!Dialogs.confirmYesNo("Open File", "This seems to be a binary file.", "Are you sure you want to open this file?")) { return; } } try { CodeAreaTab codeAreaTab = CodeAreaTab.fromFile(file); tabs.add(codeAreaTab); projectTabPane.getSelectionModel().select(codeAreaTab); if (project != null) { ProjectSettings projectSettings = project.getProjectSettingsManager().getSettings(); List<String> openFiles = getOpenFiles(projectSettings); openFiles.add(filePath); codeAreaTab.setOnCloseRequest(ev -> { if (!tryClose(codeAreaTab)) ev.consume(); }); } } catch (IOException e) { Dialogs.error("Open File error", "Cannot open file '" + filePath + "'", e); return; } } }
From source file:de.bayern.gdi.gui.Controller.java
/** * Sets the Service Types.//from ww w. ja va 2 s .co m */ public void setServiceTypes() { if (dataBean.isWebServiceSet()) { switch (dataBean.getServiceType()) { case WFS_ONE: case WFS_TWO: boolean isWfs2 = WFS_TWO.equals(dataBean.getServiceType()); ObservableList<ItemModel> types = collectServiceTypes(isWfs2); addStoredQueries(types); serviceTypeChooser.getItems().retainAll(); serviceTypeChooser.setItems(types); serviceTypeChooser.setValue(types.get(0)); chooseType(serviceTypeChooser.getValue()); break; case ATOM: List<Atom.Item> items = dataBean.getAtomService().getItems(); ObservableList<ItemModel> opts = FXCollections.observableArrayList(); List<FeaturePolygon> polygonList = new ArrayList<>(); //Polygons are always epsg:4326 // (http://www.georss.org/gml.html) try { ReferencedEnvelope extendATOM = null; CoordinateReferenceSystem atomCRS = CRS.decode(ATOM_CRS_STRING); Geometry all = null; for (Atom.Item i : items) { opts.add(new AtomItemModel(i)); FeaturePolygon polygon = new FeaturePolygon(i.getPolygon(), i.getTitle(), i.getID(), atomCRS); polygonList.add(polygon); all = all == null ? i.getPolygon() : all.union(i.getPolygon()); } if (wmsAtomMapHandler != null) { if (all != null) { extendATOM = new ReferencedEnvelope(all.getEnvelopeInternal(), atomCRS); wmsAtomMapHandler.setExtend(extendATOM); } wmsAtomMapHandler.drawPolygons(polygonList); } } catch (FactoryException e) { log.error(e.getMessage(), e); } serviceTypeChooser.getItems().retainAll(); serviceTypeChooser.setItems(opts); if (!opts.isEmpty()) { serviceTypeChooser.setValue(opts.get(0)); chooseType(serviceTypeChooser.getValue()); } break; default: } } }
From source file:org.beryx.viewreka.fxapp.Viewreka.java
private void updateProjectTabs(ProjectSettings projectSettings) { if (selectedIndexListener != null) { projectTabPane.getSelectionModel().selectedIndexProperty().removeListener(selectedIndexListener); }//from w w w . j a va 2 s. com menuTabBindingSourceCode.setSettings(projectSettings, true); menuTabBindingHelp.setSettings(projectSettings, false); if (projectSettings != null) { selectedIndexListener = (obs, oldValue, newValue) -> projectSettings .setProperty(PROP_SELECTED_TAB_INDEX, newValue); projectTabPane.getSelectionModel().selectedIndexProperty().addListener(selectedIndexListener); selectedItemListener = (obs, oldTab, newTab) -> { butSaveFile.disableProperty().unbind(); mnuSaveFile.disableProperty().unbind(); butSaveFile.setDisable(true); mnuSaveFile.setDisable(true); if (newTab != null) { CodeTabData tabData = getData(newTab); Platform.runLater(() -> { BooleanBinding scriptChangedBinding = Bindings.createBooleanBinding( () -> !tabData.isDirty(), tabData.getTextProperty(), tabData.getInitialTextProperty()); butSaveFile.disableProperty().bind(scriptChangedBinding); mnuSaveFile.disableProperty().bind(scriptChangedBinding); StringBinding tabTextBinding = Bindings.createStringBinding(() -> { String text = tabData.getTabText(); if (tabData.isDirty()) { text = "*" + text; } return text; }, tabData.getTextProperty(), tabData.getInitialTextProperty()); newTab.textProperty().bind(tabTextBinding); }); } Platform.runLater(() -> { menuTabBindingSourceCode.setSettings(projectSettings, true); menuTabBindingHelp.setSettings(projectSettings, false); butSaveAll.disableProperty().unbind(); mnuSaveAll.disableProperty().unbind(); butSaveAll.setDisable(true); mnuSaveAll.setDisable(true); List<BooleanBinding> saveBindings = new ArrayList<>(); projectTabPane.getTabs().forEach(tab -> { CodeTabData tabData = getData(tab); saveBindings.add(Bindings.createBooleanBinding(() -> !tabData.isDirty(), tabData.getTextProperty(), tabData.getInitialTextProperty())); }); if (!saveBindings.isEmpty()) { BooleanBinding binding = saveBindings.get(0); for (int i = 1; i < saveBindings.size(); i++) { binding = Bindings.and(binding, saveBindings.get(i)); } mnuSaveAll.disableProperty().bind(binding); butSaveAll.disableProperty().bind(binding); } }); }; projectTabPane.getSelectionModel().selectedItemProperty().addListener(selectedItemListener); } int selectedTabIndex = (projectSettings == null) ? 0 : projectSettings.getProperty(PROP_SELECTED_TAB_INDEX, 0, false); ObservableList<Tab> tabs = projectTabPane.getTabs(); tabs.clear(); Tab selectedTab = null; List<String> openFiles = getOpenFiles(projectSettings); for (int i = 0; i < openFiles.size(); i++) { String filePath = openFiles.get(i); Tab addedTab = null; if (filePath.equals(FILE_ALIAS_SOURCE_CODE)) { addedTab = tabSourceCode; String projectPath = projectPathProperty.get(); String tabText = (projectPath == null) ? "Code" : new File(projectPath).getName(); tabSourceCode.setUserData(new CodeTabData(tabText)); } else if (filePath.equals(FILE_ALIAS_HELP)) { addedTab = tabHelp; } else { try { File file = new File(filePath); addedTab = CodeAreaTab.fromFile(file); final Tab tab = addedTab; tab.setOnCloseRequest(ev -> { if (!tryClose(tab)) ev.consume(); }); } catch (Exception e) { addedTab = null; } } if (addedTab != null) { tabs.add(addedTab); getData(addedTab).setFilePath(filePath); if (i == selectedTabIndex) { selectedTab = addedTab; } } } if (!tabs.isEmpty()) { if (selectedTab == null) { selectedTab = tabs.get(0); } projectTabPane.getSelectionModel().select(null); projectTabPane.getSelectionModel().select(selectedTab); } }
From source file:de.bayern.gdi.gui.Controller.java
private void setCrsAndExtent(WFSMeta.Feature feature) { wmsWfsMapHandler.setExtend(feature.getBBox()); ArrayList<String> list = new ArrayList<>(); list.add(feature.getDefaultCRS());//from w ww. j av a 2 s. c o m list.addAll(feature.getOtherCRSs()); ObservableList<CRSModel> crsList = FXCollections.observableArrayList(); for (String crsStr : list) { try { String newcrsStr = crsStr; String seperator = null; if (newcrsStr.contains("::")) { seperator = "::"; } else if (newcrsStr.contains("/")) { seperator = "/"; } if (seperator != null) { newcrsStr = "EPSG:" + newcrsStr.substring(newcrsStr.lastIndexOf(seperator) + seperator.length(), newcrsStr.length()); } CoordinateReferenceSystem crs = CRS.decode(newcrsStr); CRSModel crsm = new CRSModel(crs); crsm.setOldName(crsStr); crsList.add(crsm); } catch (FactoryException e) { log.error(e.getMessage(), e); } } if (!crsList.isEmpty()) { this.referenceSystemChooser.setItems(crsList); CRSModel crsm = crsList.get(0); try { CoordinateReferenceSystem initCRS = CRS.decode(INITIAL_CRS_DISPLAY); CRSModel initCRSM = new CRSModel(initCRS); for (int i = 0; i < crsList.size(); i++) { if (crsList.get(i).equals(initCRSM)) { crsm = crsList.get(i); break; } } } catch (FactoryException e) { log.error(e.getMessage(), e); } this.referenceSystemChooser.setValue(crsm); } }
From source file:fr.amap.lidar.amapvox.gui.MainFrameController.java
public void setStage(final Stage stage) { this.stage = stage; stage.setOnShown(new EventHandler<WindowEvent>() { @Override// ww w. j a v a2 s . c o m public void handle(WindowEvent event) { ObservableList<Screen> screens = Screen.getScreensForRectangle(stage.getX(), stage.getY(), stage.getWidth(), stage.getHeight()); if (screens != null && screens.size() > 0) { SCREEN_WIDTH = screens.get(0).getBounds().getWidth(); SCREEN_HEIGHT = screens.get(0).getBounds().getHeight(); } } }); viewer3DPanelController.setStage(stage); }
From source file:fr.amap.lidar.amapvox.gui.MainFrameController.java
private void editVoxelSpace(final File voxelFile) { if (editingFrameOpened) { return;/*www . j a v a 2 s. c om*/ } editingFrameOpened = true; voxelsToRemove.clear(); final String attributeToView = "PadBVTotal"; //window size ObservableList<Screen> screens = Screen.getScreens(); if (screens != null && screens.size() > 0) { SCREEN_WIDTH = screens.get(0).getBounds().getWidth(); SCREEN_HEIGHT = screens.get(0).getBounds().getHeight(); } try { Service s = new Service() { @Override protected Task createTask() { return new Task() { @Override protected Object call() throws Exception { SimpleViewer viewer3D = new SimpleViewer((int) (SCREEN_WIDTH / 4.0d), (int) (SCREEN_HEIGHT / 4.0d), (int) (SCREEN_WIDTH / 1.5d), (int) (SCREEN_HEIGHT / 2.0d), voxelFile.toString()); fr.amap.viewer3d.object.scene.Scene scene = viewer3D.getScene(); /** * *VOXEL SPACE** */ updateMessage("Loading voxel space: " + voxelFile.getAbsolutePath()); final VoxelSpaceSceneObject voxelSpace = new VoxelSpaceSceneObject(voxelFile); voxelSpace.setMousePickable(true); voxelSpace.addVoxelSpaceListener(new VoxelSpaceAdapter() { @Override public void voxelSpaceCreationProgress(int progress) { updateProgress(progress, 100); } }); voxelSpace.loadVoxels(); float voxelResolution = voxelSpace.data.getVoxelSpaceInfos().getResolution(); VoxelFileReader reader = new VoxelFileReader(voxelFile); VoxelSpaceInfos infos = reader.getVoxelSpaceInfos(); final SceneObject boundingBox = new SimpleSceneObject(); boundingBox.setMesh(GLMeshFactory.createBoundingBox((float) infos.getMinCorner().x, (float) infos.getMinCorner().y, (float) infos.getMinCorner().z, (float) infos.getMaxCorner().x, (float) infos.getMaxCorner().y, (float) infos.getMaxCorner().z)); SimpleShader s = new SimpleShader(); s.setColor(new Vec3F(1, 0, 0)); boundingBox.setShader(s); boundingBox.setDrawType(GLMesh.DrawType.LINES); scene.addSceneObject(boundingBox); /* * Voxel information */ StringToImage stringToImage = new StringToImage(1024, 1024); stringToImage.setAdaptableFontSize(true); stringToImage.setBackgroundColor(new Color(255, 255, 255, 127)); stringToImage.setTextColor(new Color(0, 0, 0, 255)); BufferedImage image = new BufferedImage(1024, 1024, BufferedImage.TYPE_INT_ARGB); Texture texture = new Texture(image); int pickingInfoObjectWidth = viewer3D.getWidth() / 5; int pickingInfoObjectHeight = viewer3D.getHeight() / 5; SceneObject pickingInfoObject = SceneObjectFactory.createTexturedPlane( new Vec3F(viewer3D.getWidth() - pickingInfoObjectWidth, viewer3D.getHeight() - pickingInfoObjectHeight, 0), pickingInfoObjectWidth, pickingInfoObjectHeight, texture); pickingInfoObject.setShader(new TextureShader()); pickingInfoObject.setDrawType(GLMesh.DrawType.TRIANGLES); SceneObject sceneObjectSelectedVox = new SimpleSceneObject( GLMeshFactory.createBoundingBox(-voxelResolution / 2.0f, -voxelResolution / 2.0f, -voxelResolution / 2.0f, voxelResolution / 2.0f, voxelResolution / 2.0f, voxelResolution / 2.0f), false); SimpleShader simpleShader = new SimpleShader(); simpleShader.setColor(new Vec3F(1, 0, 0)); sceneObjectSelectedVox.setVisible(false); sceneObjectSelectedVox.setShader(simpleShader); sceneObjectSelectedVox.setDrawType(GLMesh.DrawType.LINES); viewer3D.getScene().addSceneObject(sceneObjectSelectedVox); final SimpleObjectProperty<VoxelObject> selectedVoxel = new SimpleObjectProperty<>(); SceneObjectListener listener = new SceneObjectListener() { @Override public void clicked(SceneObject sceneObject, MousePicker mousePicker, Point3D intersection) { Vec3F camLocation = viewer3D.getScene().getCamera().getLocation(); selectedVoxel.set(voxelSpace.doPicking(mousePicker)); if (selectedVoxel.get() != null) { String[][] lines = new String[voxelSpace.getColumnsNames().length][2]; for (int i = 0; i < voxelSpace.getColumnsNames().length; i++) { lines[i][0] = voxelSpace.getColumnsNames()[i]; float attribut = selectedVoxel.get().getAttributs()[i]; if (Float.isNaN(attribut)) { lines[i][1] = "NaN"; } else { lines[i][1] = String .valueOf(Math.round(attribut * 1000.0f) / 1000.0f); } } arrangeText(lines); String text = ""; for (int i = 0; i < voxelSpace.getColumnsNames().length; i++) { String attribut = lines[i][0] + " " + lines[i][1]; text += attribut + "\n"; } stringToImage.setText(text, 0, 0); texture.setBufferedImage(stringToImage.buildImage()); Point3f voxelPosition = voxelSpace.getVoxelPosition(selectedVoxel.get().$i, selectedVoxel.get().$j, selectedVoxel.get().$k); sceneObjectSelectedVox.setPosition( new Point3F(voxelPosition.x, voxelPosition.y, voxelPosition.z)); sceneObjectSelectedVox.setVisible(true); pickingInfoObject.setVisible(true); } else { sceneObjectSelectedVox.setVisible(false); pickingInfoObject.setVisible(false); } } }; final SimpleIntegerProperty currentZCropIndex = new SimpleIntegerProperty(0); viewer3D.addEventListener(new EventManager(null, new InputKeyListener()) { @Override public void updateEvents() { if (this.keyboard.isKeyClicked(KeyEvent.VK_DELETE)) { if (selectedVoxel.get() != null) { selectedVoxel.get().setAlpha(0); selectedVoxel.get().isHidden = true; voxelSpace.updateVao(); sceneObjectSelectedVox.setVisible(false); pickingInfoObject.setVisible(false); voxelsToRemove.add(new Point3i(selectedVoxel.get().$i, selectedVoxel.get().$j, selectedVoxel.get().$k)); } } } }); voxelSpace.addSceneObjectListener(listener); voxelSpace.changeCurrentAttribut(attributeToView); voxelSpace.setShader(new InstanceLightedShader()); voxelSpace.setDrawType(GLMesh.DrawType.TRIANGLES); scene.addSceneObject(voxelSpace); scene.addSceneObjectAsHud(pickingInfoObject); /** * *scale** */ updateMessage("Generating scale"); final Texture scaleTexture = new Texture(ScaleGradient.createColorScaleBufferedImage( voxelSpace.getGradient(), voxelSpace.getAttributValueMin(), voxelSpace.getAttributValueMax(), viewer3D.getWidth() - 80, (int) (viewer3D.getHeight() / 20), ScaleGradient.Orientation.HORIZONTAL, 5, 8)); SceneObject scalePlane = SceneObjectFactory.createTexturedPlane(new Vec3F(40, 20, 0), (int) (viewer3D.getWidth() - 80), (int) (viewer3D.getHeight() / 20), scaleTexture); scalePlane.setShader(new TextureShader()); scalePlane.setDrawType(GLMesh.DrawType.TRIANGLES); scene.addSceneObjectAsHud(scalePlane); voxelSpace.addPropertyChangeListener("gradientUpdated", new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { BufferedImage image = ScaleGradient.createColorScaleBufferedImage( voxelSpace.getGradient(), voxelSpace.getAttributValueMin(), voxelSpace.getAttributValueMax(), viewer3D.getWidth() - 80, (int) (viewer3D.getHeight() / 20), ScaleGradient.Orientation.HORIZONTAL, 5, 8); scaleTexture.setBufferedImage(image); } }); /** * *light** */ scene.setLightPosition( new Point3F(voxelSpace.getGravityCenter().x, voxelSpace.getGravityCenter().y, voxelSpace.getGravityCenter().z + voxelSpace.widthZ + 100)); /** * *camera** */ TrackballCamera trackballCamera = new TrackballCamera(); trackballCamera.setPivot(voxelSpace); trackballCamera .setLocation(new Vec3F(voxelSpace.getGravityCenter().x + voxelSpace.widthX, voxelSpace.getGravityCenter().y + voxelSpace.widthY, voxelSpace.getGravityCenter().z + voxelSpace.widthZ)); viewer3D.getScene().setCamera(trackballCamera); Platform.runLater(new Runnable() { @Override public void run() { final Stage toolBarFrameStage = new Stage(); final FXMLLoader loader = new FXMLLoader( getClass().getResource("/fxml/ToolBoxFrame.fxml")); try { stage.setAlwaysOnTop(false); Parent root = loader.load(); toolBarFrameStage.setScene(new Scene(root)); toolBarFrameStage.initStyle(StageStyle.UNDECORATED); toolBarFrameStage.setAlwaysOnTop(true); ToolBoxFrameController toolBarFrameController = loader.getController(); toolBarFrameController.setStage(toolBarFrameStage); toolBarFrameStage.setX(viewer3D.getPosition().getX()); toolBarFrameStage.setY(viewer3D.getPosition().getY()); toolBarFrameController.setJoglListener(viewer3D.getJoglContext()); toolBarFrameController.setAttributes(attributeToView, voxelSpace.data.getVoxelSpaceInfos().getColumnNames()); toolBarFrameStage.focusedProperty() .addListener(new ChangeListener<Boolean>() { @Override public void changed( ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { if (newValue) { toolBarFrameStage.setAlwaysOnTop(true); toolBarFrameStage.setX(viewer3D.getPosition().getX()); toolBarFrameStage.setY(viewer3D.getPosition().getY()); } else if (!viewer3D.isFocused()) { toolBarFrameStage.setAlwaysOnTop(false); } } }); toolBarFrameController.initContent(voxelSpace); toolBarFrameStage.setAlwaysOnTop(true); toolBarFrameStage.show(); double maxToolBoxHeight = toolBarFrameStage.getHeight(); viewer3D.getJoglContext().setStartX((int) toolBarFrameStage.getWidth()); viewer3D.getRenderFrame().addWindowListener(new WindowAdapter() { @Override public void windowResized(com.jogamp.newt.event.WindowEvent we) { Window window = (Window) we.getSource(); final double height = window.getHeight(); Platform.runLater(new Runnable() { @Override public void run() { if (height < maxToolBoxHeight) { toolBarFrameStage.setHeight(height); } else { toolBarFrameStage.setHeight(maxToolBoxHeight); } toolBarFrameStage.setX(viewer3D.getPosition().getX()); toolBarFrameStage.setY(viewer3D.getPosition().getY()); } }); } @Override public void windowMoved(com.jogamp.newt.event.WindowEvent we) { Platform.runLater(new Runnable() { @Override public void run() { toolBarFrameStage.setX(viewer3D.getPosition().getX()); toolBarFrameStage.setY(viewer3D.getPosition().getY()); } }); } @Override public void windowDestroyed(com.jogamp.newt.event.WindowEvent we) { Platform.runLater(new Runnable() { @Override public void run() { toolBarFrameStage.close(); if (fcSaveVoxelFileForAreaExtracting == null) { fcSaveVoxelFileForAreaExtracting = new FileChooserContext(); if (fcOpenVoxelFileForAreaExtracting != null) { fcSaveVoxelFileForAreaExtracting.fc .setInitialDirectory( fcOpenVoxelFileForAreaExtracting.lastSelectedFile .getParentFile()); } } File selectedFile = fcSaveVoxelFileForAreaExtracting .showSaveDialog(stage); if (selectedFile != null) { VoxelFileReader reader; BufferedWriter writer = null; try { reader = new VoxelFileReader(voxelFile, true); VoxelSpaceInfos infos = reader.getVoxelSpaceInfos(); writer = new BufferedWriter( new FileWriter(selectedFile)); writer.write(infos.toString() + "\n"); Iterator<Voxel> iterator = reader.iterator(); while (iterator.hasNext()) { Voxel voxel = iterator.next(); if (voxelsToRemove.contains(new Point3i( voxel.$i, voxel.$j, voxel.$k))) { voxel.PadBVTotal = 0; voxel.nbEchos = 0; voxel.transmittance = 1; voxel.bvIntercepted = 0; } writer.write(voxel + "\n"); } writer.close(); addFileToProductsList(selectedFile); } catch (Exception ex) { showErrorDialog(ex); } finally { try { if (writer != null) { writer.close(); } } catch (IOException ex) { showErrorDialog(ex); } } } editingFrameOpened = false; } }); } @Override public void windowGainedFocus(com.jogamp.newt.event.WindowEvent we) { viewer3D.setIsFocused(true); Platform.runLater(new Runnable() { @Override public void run() { if (!toolBarFrameStage.isShowing()) { toolBarFrameStage.toFront(); } toolBarFrameStage.setIconified(false); toolBarFrameStage.setAlwaysOnTop(true); toolBarFrameStage.setX(viewer3D.getPosition().getX()); toolBarFrameStage.setY(viewer3D.getPosition().getY()); } }); } @Override public void windowLostFocus(com.jogamp.newt.event.WindowEvent e) { viewer3D.setIsFocused(false); Platform.runLater(new Runnable() { @Override public void run() { if (!toolBarFrameStage.focusedProperty().get()) { toolBarFrameStage.setIconified(true); toolBarFrameStage.setAlwaysOnTop(false); } } }); } }); viewer3D.show(); toolBarFrameStage.setAlwaysOnTop(true); } catch (IOException e) { showErrorDialog(new Exception("Loading ToolBarFrame.fxml failed", e)); } catch (Exception e) { showErrorDialog(new Exception("Error occured during toolbar init", e)); } } }); return null; } }; } }; ProgressDialog d = new ProgressDialog(s); d.show(); s.start(); } catch (Exception ex) { showErrorDialog(new Exception("Cannot launch 3d view", ex)); } }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @param iNumZone numro de la zone//from w w w. ja va2 s . c o m * @param points liste de points du polygone * @return ancres du polygone */ private static ObservableList<AncreForme> olCreeAncresPourPolygone(int iNumZone, final ObservableList<Double> points) { ObservableList<AncreForme> olAnchors = FXCollections.observableArrayList(); for (int i = 0; i < points.size(); i += 2) { final int idx = i; DoubleProperty xProperty = new SimpleDoubleProperty(points.get(i)); DoubleProperty yProperty = new SimpleDoubleProperty(points.get(i + 1)); xProperty.addListener((ObservableValue<? extends Number> ov, Number oldX, Number x) -> { points.set(idx, (double) x); String chaine = ""; chaine = points.stream().map((point) -> point.toString() + ",").reduce(chaine, String::concat); chaine = chaine.substring(0, chaine.length() - 1); zones[iNumZone].setStrCoordonneesZone(chaine); }); yProperty.addListener((ObservableValue<? extends Number> ov, Number oldY, Number y) -> { points.set(idx + 1, (double) y); String chaine = ""; chaine = points.stream().map((point) -> point.toString() + ",").reduce(chaine, String::concat); chaine = chaine.substring(0, chaine.length() - 1); zones[iNumZone].setStrCoordonneesZone(chaine); }); olAnchors.add(new AncreForme(Color.GOLD, xProperty, yProperty)); } return olAnchors; }