/** * Erzeugt eine TableView mit den Daten aus der Datenbank. * * @return Eine TableView mit Polizist Daten */ private Node getPolizistAnsichtInnereTabelle() { refreshPolizistAnsicht(); // Name Spalte TableColumn<PolizistDaten, String> SpalteName = new TableColumn<>("Name"); SpalteName.setMinWidth(200); SpalteName.setCellValueFactory(new PropertyValueFactory<>("Name")); // GebDatum Spalte TableColumn<PolizistDaten, String> SpalteDatum = new TableColumn<>("Geburtsdatum"); SpalteDatum.setMinWidth(200); SpalteDatum.setCellValueFactory(new PropertyValueFactory<>("GebDatum")); // Nationalitaet Spalte TableColumn<PolizistDaten, String> SpalteNation = new TableColumn<>("Nationalität"); SpalteNation.setMinWidth(200); SpalteNation.setCellValueFactory(new PropertyValueFactory<>("Nation")); // Geschlecht Spalte TableColumn<PolizistDaten, String> SpalteGeschlecht = new TableColumn<>("Geschlecht"); SpalteGeschlecht.setMinWidth(200); SpalteGeschlecht.setCellValueFactory(new PropertyValueFactory<>("Geschlecht")); // Todesdatum Spalte TableColumn<PolizistDaten, String> SpalteTod = new TableColumn<>("Todesdatum"); SpalteTod.setMinWidth(200); SpalteTod.setCellValueFactory(new PropertyValueFactory<>("TodDatum")); // Dienstgrad Spalte TableColumn<PolizistDaten, String> SpalteGrad = new TableColumn<>("Dienstgrad"); SpalteGrad.setMinWidth(200); SpalteGrad.setCellValueFactory(new PropertyValueFactory<>("Dienstgrad")); Tabelle.setItems(PolizistDatenListe); Tabelle.getColumns().add(SpalteName); Tabelle.getColumns().add(SpalteDatum); Tabelle.getColumns().add(SpalteNation); Tabelle.getColumns().add(SpalteGeschlecht); Tabelle.getColumns().add(SpalteTod); Tabelle.getColumns().add(SpalteGrad); Tabelle.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); // Doppelklicke auf Spalten sollen Detailansichten oeffnen: Tabelle.setRowFactory( param -> { TableRow<PolizistDaten> Spalte = new TableRow<>(); Spalte.setOnMouseClicked( event -> { if (event.getClickCount() == 2 && (!Spalte.isEmpty())) { erzeugeDetailAnsicht(Spalte.getItem()); } }); return Spalte; }); return Tabelle; }
@Override public void initialize(URL location, ResourceBundle resources) { // TODO Auto-generated method stub this.tbViewColData.setCellValueFactory(cellData -> cellData.getValue().DataProperty()); this.tbViewColArquivo.setCellValueFactory(cellData -> cellData.getValue().FileNameProperty()); File file = new File("./relatorios/"); if (file.exists()) { File[] m = file.listFiles(); for (File f : m) { Path path = FileSystems.getDefault().getPath("./relatorios"); BasicFileAttributes attributes; try { attributes = Files.readAttributes(path, BasicFileAttributes.class); FileTime creationTime = attributes.creationTime(); data.add(new TableHistoricoData(creationTime.toString(), f.getPath())); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } this.tbViewHistorico.getItems().addAll(data); } this.tbViewHistorico.setRowFactory( tv -> { TableRow<TableHistoricoData> row = new TableRow<>(); row.setOnMouseClicked( event -> { if (event.getClickCount() == 2 && (!row.isEmpty())) { TableHistoricoData rowData = row.getItem(); try { Thread t = new Thread() { public void run() { if (Desktop.isDesktopSupported()) if (Desktop.getDesktop().isSupported(Action.OPEN)) { Desktop op = Desktop.getDesktop(); if (new File(rowData.getFileName()).exists()) { try { op.open(new File(rowData.getFileName())); } catch (IOException e) { e.printStackTrace(); } } } } }; t.start(); } catch (Exception e) { e.printStackTrace(); } } }); return row; }); }
private ContextMenu createContextMenu(final TableRow<T> row) { ContextMenu menu = new ContextMenu(); ContextMenu tableMenu = row.getTableView().getContextMenu(); if (tableMenu != null) { menu.getItems().addAll(tableMenu.getItems()); menu.getItems().add(new SeparatorMenuItem()); } menu.getItems().addAll(menuItemFactory.call(row.getItem())); return menu; }
@Override public void apply(TableRow<JsonNode> row, Relation relation) { row.setOnMouseClicked( event -> { Route route = back.peek().getRoute(relation); if (route == null) { return; } if (!row.isEmpty() && event.getButton() == MouseButton.PRIMARY && event.getClickCount() == 2) { JsonNode item = row.getItem(); if (item == null) { return; } try { push(extract(route, item)); } catch (QueryException e) { log.error("Unable to push page: %s", route.getPath(), e); } } }); }
@FXML public void initialize() { System.out.println("<main_contr>: controller initiation"); // observableTeams = FXCollections.observableArrayList(BetterDataGenerator.generateTeams()); observableTeams = FXCollections.observableArrayList(); teamsTable.setPlaceholder(new Label("No matching data")); FilteredList<Team> filteredTeams = new FilteredList<>(observableTeams, p -> false); teamSearcherTextField .textProperty() .addListener( (observable, oldValue, newValue) -> { if (newValue != null && newValue.length() == 3 && oldValue.length() < newValue.length()) { System.out.println("<main_contr>: query to db for '" + newValue + "'"); observableTeams.clear(); observableTeams.addAll(dbHandle.loadTeams()); } filteredTeams.setPredicate( team -> { if (newValue == null || newValue.isEmpty() || newValue.length() < 3) { return false; } String lowerCaseFilter = newValue.toLowerCase(); if (lowerCaseFilter.equals("all")) { return true; } else if (team.getTeamName().toLowerCase().contains(lowerCaseFilter)) { return true; } else if (team.getSupervisor() != null && team.getSupervisor() .toString() .toLowerCase() .contains(lowerCaseFilter)) { return true; } return false; }); }); FilteredList<Team> orphanTeams = new FilteredList<>( observableTeams, team -> { if (team.getSupervisor() == null) { return true; } else { return false; } }); SortedList<Team> sortedFilteredTeams = new SortedList<>(filteredTeams); sortedFilteredTeams.comparatorProperty().bind(teamsTable.comparatorProperty()); teamsTable.setItems(sortedFilteredTeams); SortedList<Team> sortedOrphanTeams = new SortedList<>(orphanTeams); sortedOrphanTeams.comparatorProperty().bind(orphanTeamsTable.comparatorProperty()); orphanTeamsTable.setItems(sortedOrphanTeams); teamsTable.setRowFactory( p -> { TableRow<Team> row = new TableRow<>(); row.setOnMouseClicked( event -> { if (event.getClickCount() == 2 && !row.isEmpty()) { Team selectedTeam = row.getItem(); handleTeamDoubleClick(selectedTeam); } }); return row; }); }