protected Node getContentNode() { Node taskView = getTaskView(); if (SettingsUtil.loadSettings().isShowStatistics()) { LOGGER.debug("Statistics enabled in settings"); statisticsView = new VBox(20); // wrap statistics in scrollpane ScrollPane scrollPane = new ScrollPane(statisticsView); scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); scrollPane.setFitToWidth(true); scrollPane.setPadding(new Insets(7)); // both statistics and task view present // show both in a split pane SplitPane splitPane = new SplitPane(); splitPane.setOrientation(Orientation.HORIZONTAL); splitPane.setDividerPosition(0, 0.8); splitPane.getItems().addAll(taskView, scrollPane); return splitPane; } else { LOGGER.debug("Statistics disabled in settings"); return taskView; } }
public void addImageTab(Path imagePath) { TabPane previewTabPane = controller.getPreviewTabPane(); ImageTab tab = new ImageTab(); tab.setPath(imagePath); tab.setText(imagePath.getFileName().toString()); if (previewTabPane.getTabs().contains(tab)) { previewTabPane.getSelectionModel().select(tab); return; } Image image = new Image(IOHelper.pathToUrl(imagePath)); ImageView imageView = new ImageView(image); imageView.setPreserveRatio(true); imageView.setFitWidth(previewTabPane.getWidth()); previewTabPane .widthProperty() .addListener( (observable, oldValue, newValue) -> { imageView.setFitWidth(previewTabPane.getWidth()); }); Tooltip tip = new Tooltip(imagePath.toString()); Tooltip.install(tab.getGraphic(), tip); ScrollPane scrollPane = new ScrollPane(); scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED); scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED); scrollPane.setContent(imageView); scrollPane.addEventFilter( ScrollEvent.SCROLL, e -> { if (e.isControlDown() && e.getDeltaY() > 0) { // zoom in imageView.setFitWidth(imageView.getFitWidth() + 16.0); } else if (e.isControlDown() && e.getDeltaY() < 0) { // zoom out imageView.setFitWidth(imageView.getFitWidth() - 16.0); } }); tab.setContent(scrollPane); TabPane tabPane = previewTabPane; tabPane.getTabs().add(tab); tabPane.getSelectionModel().select(tab); }
private void initDialog() { dialog.initOwner(mainApp.getPrimaryStage()); dialog.initModality(Modality.APPLICATION_MODAL); dialog.initStyle(StageStyle.DECORATED); dialog.setResizable(true); dialog.setTitle("Recordings Already Exist"); dialog.setHeaderText("Replace or rename recordings?"); dialog.getDialogPane().setPadding(new Insets(10)); VBox vbox = new VBox(); vbox.setSpacing(10); dialog.getDialogPane().setContent(vbox); Label label = new Label( "Archiving the following recordings will replace files on your computer unless you rename them:"); vbox.getChildren().add(label); VBox recordingBox = new VBox(); recordingBox.setSpacing(20); for (Recording recording : recordingsToDisplay) { recording.setFileExistsAction(Recording.FileExistsAction.REPLACE); recordingBox.getChildren().add(buildRecordingGrid(recording)); } ScrollPane scrollPane = new ScrollPane(); scrollPane.getStyleClass().add("recording-exists-list"); scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED); scrollPane.setFitToWidth(true); scrollPane.setFitToHeight(true); scrollPane.setContent(recordingBox); scrollPane.setPadding(new Insets(10)); vbox.getChildren().add(scrollPane); dialog.getDialogPane().getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL); }
private void erzeugeDetailAnsicht(PolizistDaten SpaltenDaten) { Label LabelA = new Label("PersonenID"); Label LabelAWert = new Label(Integer.toString(SpaltenDaten.getPersonenID())); Label LabelB = new Label("Name"); Label LabelBWert = new Label(SpaltenDaten.getName()); Label LabelC = new Label("Geburtsdatum"); Label LabelCWert = new Label(SpaltenDaten.getGebDatum()); Label LabelD = new Label("Nationalität"); Label LabelDWert = new Label(SpaltenDaten.getNation()); Label LabelE = new Label("Geschlecht"); Label LabelEWert = new Label(SpaltenDaten.getGeschlecht()); Label LabelF = new Label("Todesdatum"); Label LabelFWert = new Label(SpaltenDaten.getTodDatum()); Label LabelG = new Label("Dienstgrad"); Label LabelGWert = new Label(SpaltenDaten.getDienstgrad()); Button ButtonBearbeiten = new Button("Bearbeiten..."); Button ButtonLoeschen = new Button("Löschen"); Button ButtonSuchePerson = new Button("Suche nach Person"); Button ButtonSucheArbeit = new Button("Suche nach Arbeitsverhältnissen"); Button ButtonSucheArbeitAn = new Button("Suche nach zugewiesenen Fällen"); Button ButtonSucheNotizen = new Button("Suche nach erstellten Notizen"); Button ButtonSucheIndizien = new Button("Suche nach eingestellten Indizien"); Button ButtonClose = new Button("Detailansicht verlassen"); ButtonBearbeiten.setOnAction( event -> { Tabelle.getSelectionModel().clearSelection(); Tabelle.getSelectionModel().select(SpaltenDaten); updateSelectedEntry(); Hauptprogramm.setRechteAnsicht(null); }); ButtonLoeschen.setOnAction( event -> { Tabelle.getSelectionModel().clearSelection(); Tabelle.getSelectionModel().select(SpaltenDaten); deleteSelectedEntrys(); Hauptprogramm.setRechteAnsicht(null); }); ButtonSuchePerson.setOnAction( event -> { Hauptprogramm.setRechteAnsicht(null); PersonenAM.PersonenSuchAnsicht(SpaltenDaten.getPersonenID()); }); ButtonSucheArbeit.setOnAction( event -> { Hauptprogramm.setRechteAnsicht(null); ArbeitenAM.SucheNachPersonenID(SpaltenDaten.getPersonenID()); }); ButtonSucheArbeitAn.setOnAction( event -> { Hauptprogramm.setRechteAnsicht(null); ArbeitenAnAM.SucheNachPersonenID(SpaltenDaten.getPersonenID()); }); ButtonSucheNotizen.setOnAction( event -> { Hauptprogramm.setRechteAnsicht(null); NotizAM.SucheNachAnlegendem(SpaltenDaten.getPersonenID()); }); ButtonSucheIndizien.setOnAction( event -> { Hauptprogramm.setRechteAnsicht(null); IndizAM.SucheNachAnlegendem(SpaltenDaten.getPersonenID()); }); ButtonClose.setOnAction(event -> Hauptprogramm.setRechteAnsicht(null)); ButtonBearbeiten.setMaxWidth(Double.MAX_VALUE); ButtonBearbeiten.setMinWidth(150); ButtonLoeschen.setMaxWidth(Double.MAX_VALUE); ButtonLoeschen.setMinWidth(150); ButtonSuchePerson.setMaxWidth(Double.MAX_VALUE); ButtonSucheArbeit.setMaxWidth(Double.MAX_VALUE); ButtonSucheArbeitAn.setMaxWidth(Double.MAX_VALUE); ButtonSucheNotizen.setMaxWidth(Double.MAX_VALUE); ButtonSucheIndizien.setMaxWidth(Double.MAX_VALUE); ButtonClose.setMaxWidth(Double.MAX_VALUE); // Wir haben ein Gridpane oben, eine HBox unten in einer VBox in einem ScrollPane GridPane Oben = new GridPane(); Oben.setHgap(10); Oben.setVgap(10); Oben.addColumn(0, LabelA, LabelB, LabelC, LabelD, LabelE, LabelF, LabelG); Oben.addColumn( 1, LabelAWert, LabelBWert, LabelCWert, LabelDWert, LabelEWert, LabelFWert, LabelGWert); Oben.getColumnConstraints().add(new ColumnConstraints(100)); Oben.getColumnConstraints().add(new ColumnConstraints(200)); HBox Unten = new HBox(10); Unten.getChildren().addAll(ButtonBearbeiten, ButtonLoeschen); Unten.setMaxWidth(300); Unten.alignmentProperty().setValue(Pos.CENTER); VBox Mittelteil = new VBox(10); Mittelteil.setPadding(new Insets(10, 20, 10, 10)); Mittelteil.getChildren() .addAll( Oben, Unten, ButtonSuchePerson, ButtonSucheArbeit, ButtonSucheArbeitAn, ButtonSucheNotizen, ButtonSucheIndizien, ButtonClose); ScrollPane Aussen = new ScrollPane(); Aussen.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); Aussen.setContent(Mittelteil); Hauptprogramm.setRechteAnsicht(Aussen); }