private TableColumn<Dispute, Dispute> getDateColumn() { TableColumn<Dispute, Dispute> column = new TableColumn<Dispute, Dispute>("Date") { { setMinWidth(130); } }; column.setCellValueFactory((dispute) -> new ReadOnlyObjectWrapper<>(dispute.getValue())); column.setCellFactory( new Callback<TableColumn<Dispute, Dispute>, TableCell<Dispute, Dispute>>() { @Override public TableCell<Dispute, Dispute> call(TableColumn<Dispute, Dispute> column) { return new TableCell<Dispute, Dispute>() { @Override public void updateItem(final Dispute item, boolean empty) { super.updateItem(item, empty); if (item != null && !empty) setText(formatter.formatDateTime(item.getOpeningDate())); else setText(""); } }; } }); return column; }
private TableColumn<Dispute, Dispute> getRoleColumn() { TableColumn<Dispute, Dispute> column = new TableColumn<Dispute, Dispute>("Role") { { setMinWidth(130); } }; column.setCellValueFactory((dispute) -> new ReadOnlyObjectWrapper<>(dispute.getValue())); column.setCellFactory( new Callback<TableColumn<Dispute, Dispute>, TableCell<Dispute, Dispute>>() { @Override public TableCell<Dispute, Dispute> call(TableColumn<Dispute, Dispute> column) { return new TableCell<Dispute, Dispute>() { @Override public void updateItem(final Dispute item, boolean empty) { super.updateItem(item, empty); if (item != null && !empty) { if (item.isDisputeOpenerIsOfferer()) setText(item.isDisputeOpenerIsBuyer() ? "Buyer/Offerer" : "Seller/Offerer"); else setText(item.isDisputeOpenerIsBuyer() ? "Buyer/Taker" : "Seller/Taker"); } else { setText(""); } } }; } }); return column; }
/** * 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; }
private TableColumn<Dispute, Dispute> getTradeIdColumn() { TableColumn<Dispute, Dispute> column = new TableColumn<Dispute, Dispute>("Trade ID") { { setMinWidth(130); } }; column.setCellValueFactory((dispute) -> new ReadOnlyObjectWrapper<>(dispute.getValue())); column.setCellFactory( new Callback<TableColumn<Dispute, Dispute>, TableCell<Dispute, Dispute>>() { @Override public TableCell<Dispute, Dispute> call(TableColumn<Dispute, Dispute> column) { return new TableCell<Dispute, Dispute>() { private Hyperlink hyperlink; @Override public void updateItem(final Dispute item, boolean empty) { super.updateItem(item, empty); if (item != null && !empty) { Optional<Trade> tradeOptional = tradeManager.getTradeById(item.getTradeId()); hyperlink = new Hyperlink(item.getShortTradeId()); if (tradeOptional.isPresent()) { hyperlink.setMouseTransparent(false); Tooltip.install(hyperlink, new Tooltip(item.getShortTradeId())); hyperlink.setOnAction(event -> tradeDetailsPopup.show(tradeOptional.get())); } else { hyperlink.setMouseTransparent(true); } setGraphic(hyperlink); } else { setGraphic(null); setId(null); } } }; } }); return column; }
private TableColumn<Dispute, Dispute> getContractColumn() { TableColumn<Dispute, Dispute> column = new TableColumn<Dispute, Dispute>("Contract") { { setMinWidth(80); setSortable(false); } }; column.setCellValueFactory((dispute) -> new ReadOnlyObjectWrapper<>(dispute.getValue())); column.setCellFactory( new Callback<TableColumn<Dispute, Dispute>, TableCell<Dispute, Dispute>>() { @Override public TableCell<Dispute, Dispute> call(TableColumn<Dispute, Dispute> column) { return new TableCell<Dispute, Dispute>() { final Button button = new Button("Open contract"); { } @Override public void updateItem(final Dispute item, boolean empty) { super.updateItem(item, empty); if (item != null && !empty) { button.setOnAction(e -> onOpenContract(item)); setGraphic(button); } else { setGraphic(null); button.setOnAction(null); } } }; } }); return column; }
private TableColumn<Dispute, Dispute> getStateColumn() { TableColumn<Dispute, Dispute> column = new TableColumn<Dispute, Dispute>("State") { { setMinWidth(50); } }; column.setCellValueFactory((dispute) -> new ReadOnlyObjectWrapper<>(dispute.getValue())); column.setCellFactory( new Callback<TableColumn<Dispute, Dispute>, TableCell<Dispute, Dispute>>() { @Override public TableCell<Dispute, Dispute> call(TableColumn<Dispute, Dispute> column) { return new TableCell<Dispute, Dispute>() { @Override public void updateItem(final Dispute item, boolean empty) { super.updateItem(item, empty); if (item != null && !empty) { item.isClosedProperty() .addListener( (observable, oldValue, newValue) -> { setText(newValue ? "Closed" : "Open"); getTableRow().setOpacity(newValue ? 0.4 : 1); }); boolean isClosed = item.isClosed(); setText(isClosed ? "Closed" : "Open"); getTableRow().setOpacity(isClosed ? 0.4 : 1); } else { setText(""); } } }; } }); return column; }
@Override public void start(Stage primaryStage) throws Exception { /* create the menu (for the top of the user interface) */ Menu fileMenu = new Menu("File"); MenuItem newMenuItem = new MenuItem("New", imageFile("images/new.png")); newMenuItem.setAccelerator(KeyCombination.keyCombination("Ctrl+N")); fileMenu.getItems().add(newMenuItem); fileMenu.getItems().add(new SeparatorMenuItem()); fileMenu.getItems().add(new MenuItem("Open...", imageFile("images/open.png"))); fileMenu.getItems().add(new SeparatorMenuItem()); MenuItem saveMenuItem = new MenuItem("Save", imageFile("images/save.png")); fileMenu.getItems().add(saveMenuItem); MenuItem saveAsMenuItem = new MenuItem("Save As...", imageFile("images/save_as.png")); fileMenu.getItems().add(saveAsMenuItem); fileMenu.getItems().add(new SeparatorMenuItem()); MenuItem exitMenuItem = new MenuItem("Exit", imageFile("images/exit.png")); fileMenu.getItems().add(exitMenuItem); exitMenuItem.setAccelerator(KeyCombination.keyCombination("Ctrl+Q")); exitMenuItem.setOnAction(e -> System.exit(0)); Menu editMenu = new Menu("Edit"); editMenu.getItems().add(new MenuItem("Cut", imageFile("images/cut.png"))); editMenu.getItems().add(new MenuItem("Copy", imageFile("images/copy.png"))); editMenu.getItems().add(new MenuItem("Paste", imageFile("images/paste.png"))); Menu helpMenu = new Menu("Help"); helpMenu.getItems().add(new MenuItem("About...", imageFile("images/about.png"))); helpMenu.getItems().add(new SeparatorMenuItem()); helpMenu.getItems().add(new MenuItem("Help...", imageFile("images/help.png"))); MenuBar menuBar = new MenuBar(); menuBar.getMenus().add(fileMenu); menuBar.getMenus().add(editMenu); menuBar.getMenus().add(helpMenu); primaryStage.setTitle("Lab08"); // grid contains all of the textfeilds, labels , buttons, ect.. GridPane grid = new GridPane(); // the tableview puts all of our data into a exel like format TableView<StudentRecord> table = new TableView<>(); table.setItems(DataSource.getAllMarks()); table.setEditable(true); TableColumn<StudentRecord, String> IDColumn = null; IDColumn = new TableColumn<>("SID"); IDColumn.setMinWidth(100); // the thing in quotes is what it will search for in the StudentRecords.java (MAKE SURE THERE IS // A GET FUNCTION FOR THAT VARIBALE) IDColumn.setCellValueFactory(new PropertyValueFactory<>("ID")); TableColumn<StudentRecord, Double> AssignmentColumn = null; AssignmentColumn = new TableColumn<>("Assignment"); AssignmentColumn.setMinWidth(100); AssignmentColumn.setCellValueFactory(new PropertyValueFactory<>("Assign")); TableColumn<StudentRecord, Float> MidtermColumn = null; MidtermColumn = new TableColumn<>("Midterm"); MidtermColumn.setMinWidth(100); MidtermColumn.setCellValueFactory(new PropertyValueFactory<>("Midterm")); TableColumn<StudentRecord, Float> FinalColumn = null; FinalColumn = new TableColumn<>("Final Exam"); FinalColumn.setMinWidth(100); FinalColumn.setCellValueFactory(new PropertyValueFactory<>("Final")); TableColumn<StudentRecord, String> GradeColumn = null; GradeColumn = new TableColumn<>("Letter Grade"); GradeColumn.setMinWidth(100); GradeColumn.setCellValueFactory(new PropertyValueFactory<>("Grade")); table.getColumns().add(IDColumn); table.getColumns().add(AssignmentColumn); table.getColumns().add(MidtermColumn); table.getColumns().add(FinalColumn); table.getColumns().add(GradeColumn); Label IDLabel = new Label("SID:"); grid.add(IDLabel, 0, 0); TextField IDField = new TextField(); IDField.setPromptText("SID"); grid.add(IDField, 1, 0); Label AssignLabel = new Label("Assignments:"); grid.add(AssignLabel, 2, 0); TextField AssignField = new TextField(); AssignField.setPromptText("Assignment"); grid.add(AssignField, 3, 0); Label MidLabel = new Label("Midterm:"); grid.add(MidLabel, 0, 1); TextField midField = new TextField(); midField.setPromptText("Midterm"); grid.add(midField, 1, 1); Label FinalLabel = new Label("Final:"); grid.add(FinalLabel, 2, 1); TextField FinalField = new TextField(); FinalField.setPromptText("Final"); grid.add(FinalField, 3, 1); Button AddButton = new Button("Add"); AddButton.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) { char Grade; String SID = IDField.getText(); Float Assignment = Float.parseFloat(AssignField.getText()); Float Midterm = Float.parseFloat(midField.getText()); Float Final = Float.parseFloat(FinalField.getText()); table.getItems().add(new StudentRecord(SID, Assignment, Midterm, Final)); IDField.setText(""); AssignField.setText(""); midField.setText(""); FinalField.setText(""); } }); grid.add(AddButton, 0, 2); layout = new BorderPane(); layout.setTop(menuBar); layout.setCenter(table); layout.setBottom(grid); Scene scene = new Scene(layout); grid.setPadding(new Insets(10, 10, 10, 10)); grid.setVgap(10); grid.setHgap(10); primaryStage.setScene(scene); primaryStage.show(); }
@Override public void start(Stage primaryStage) throws Exception { primaryStage.setTitle("JavaFX Demo"); /* create the menu (for the top of the user interface) */ Menu fileMenu = new Menu("File"); MenuItem newMenuItem = new MenuItem("New", imageFile("images/new.png")); newMenuItem.setAccelerator(KeyCombination.keyCombination("Ctrl+N")); fileMenu.getItems().add(newMenuItem); fileMenu.getItems().add(new SeparatorMenuItem()); fileMenu.getItems().add(new MenuItem("Open...", imageFile("images/open.png"))); fileMenu.getItems().add(new SeparatorMenuItem()); fileMenu.getItems().add(new MenuItem("Save", imageFile("images/save.png"))); fileMenu.getItems().add(new MenuItem("Save As...", imageFile("images/save_as.png"))); fileMenu.getItems().add(new SeparatorMenuItem()); MenuItem exitMenuItem = new MenuItem("Exit", imageFile("images/exit.png")); fileMenu.getItems().add(exitMenuItem); exitMenuItem.setAccelerator(KeyCombination.keyCombination("Ctrl+Q")); exitMenuItem.setOnAction(e -> System.exit(0)); Menu editMenu = new Menu("Edit"); editMenu.getItems().add(new MenuItem("Cut", imageFile("images/cut.png"))); editMenu.getItems().add(new MenuItem("Copy", imageFile("images/copy.png"))); editMenu.getItems().add(new MenuItem("Paste", imageFile("images/paste.png"))); Menu helpMenu = new Menu("Help"); helpMenu.getItems().add(new MenuItem("About...", imageFile("images/about.png"))); helpMenu.getItems().add(new SeparatorMenuItem()); helpMenu.getItems().add(new MenuItem("Help...", imageFile("images/help.png"))); MenuBar menuBar = new MenuBar(); menuBar.getMenus().add(fileMenu); menuBar.getMenus().add(editMenu); menuBar.getMenus().add(helpMenu); /* create the table (for the center of the user interface) */ table = new TableView<>(); table.setItems(DataSource.getAllStudents()); table.setEditable(true); /* create the table's columns */ TableColumn<Student, Integer> sidColumn = null; sidColumn = new TableColumn<>("SID"); sidColumn.setMinWidth(100); sidColumn.setCellValueFactory(new PropertyValueFactory<>("sid")); TableColumn<Student, String> firstNameColumn = null; firstNameColumn = new TableColumn<>("First Name"); firstNameColumn.setMinWidth(200); firstNameColumn.setCellValueFactory(new PropertyValueFactory<>("firstName")); firstNameColumn.setCellFactory(TextFieldTableCell.<Student>forTableColumn()); firstNameColumn.setOnEditCommit( (CellEditEvent<Student, String> event) -> { ((Student) event.getTableView().getItems().get(event.getTablePosition().getRow())) .setFirstName(event.getNewValue()); }); TableColumn<Student, String> lastNameColumn = null; lastNameColumn = new TableColumn<>("Last Name"); lastNameColumn.setMinWidth(200); lastNameColumn.setCellValueFactory(new PropertyValueFactory<>("lastName")); lastNameColumn.setCellFactory(TextFieldTableCell.<Student>forTableColumn()); lastNameColumn.setOnEditCommit( (CellEditEvent<Student, String> event) -> { ((Student) event.getTableView().getItems().get(event.getTablePosition().getRow())) .setLastName(event.getNewValue()); }); TableColumn<Student, Double> gpaColumn = null; gpaColumn = new TableColumn<>("GPA"); gpaColumn.setMinWidth(100); gpaColumn.setCellValueFactory(new PropertyValueFactory<>("gpa")); table.getColumns().add(sidColumn); table.getColumns().add(lastNameColumn); table.getColumns().add(firstNameColumn); table.getColumns().add(gpaColumn); /* create an edit form (for the bottom of the user interface) */ GridPane editArea = new GridPane(); editArea.setPadding(new Insets(10, 10, 10, 10)); editArea.setVgap(10); editArea.setHgap(10); Label sidLabel = new Label("SID:"); editArea.add(sidLabel, 0, 0); TextField sidField = new TextField(); sidField.setPromptText("SID"); editArea.add(sidField, 1, 0); Label fnameLabel = new Label("First name:"); editArea.add(fnameLabel, 0, 1); TextField fnameField = new TextField(); fnameField.setPromptText("First Name"); editArea.add(fnameField, 1, 1); Label lnameLabel = new Label("Last name:"); editArea.add(lnameLabel, 0, 2); TextField lnameField = new TextField(); lnameField.setPromptText("Last Name"); editArea.add(lnameField, 1, 2); Label gpaLabel = new Label("GPA:"); editArea.add(gpaLabel, 0, 3); TextField gpaField = new TextField(); gpaField.setPromptText("GPA"); editArea.add(gpaField, 1, 3); Button addButton = new Button("Add"); addButton.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) { int sid = Integer.parseInt(sidField.getText()); String firstName = fnameField.getText(); String lastName = lnameField.getText(); double gpa = Double.parseDouble(gpaField.getText()); table.getItems().add(new Student(sid, firstName, lastName, gpa)); sidField.setText(""); fnameField.setText(""); lnameField.setText(""); gpaField.setText(""); } }); editArea.add(addButton, 1, 4); /* arrange all components in the main user interface */ layout = new BorderPane(); layout.setTop(menuBar); layout.setCenter(table); layout.setBottom(editArea); Scene scene = new Scene(layout, 600, 600); primaryStage.setScene(scene); primaryStage.show(); }