From 481ac969c63ef070b1bcee2564c34d977c2470b2 Mon Sep 17 00:00:00 2001 From: Dominik Gruntz Date: Sat, 28 Jul 2018 00:54:07 +0200 Subject: [PATCH 1/3] Declares ChoiceBox as a generic type The choice-box used in this example was declared as a raw type: ChoiceBox cb = new ChoiceBox(); This commit makes use of the generic type ChoiceBox cb = new ChoiceBox<>(); --- .../controls-choicebox/src/main/java/de/javafxbuch/MainApp.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Kapitel 4/4.2.10/controls-choicebox/src/main/java/de/javafxbuch/MainApp.java b/Kapitel 4/4.2.10/controls-choicebox/src/main/java/de/javafxbuch/MainApp.java index 03c9d23..e3e0cb0 100644 --- a/Kapitel 4/4.2.10/controls-choicebox/src/main/java/de/javafxbuch/MainApp.java +++ b/Kapitel 4/4.2.10/controls-choicebox/src/main/java/de/javafxbuch/MainApp.java @@ -14,7 +14,7 @@ public static void main(String[] args) throws Exception { @Override public void start(Stage primaryStage) { - ChoiceBox cb = new ChoiceBox(); + ChoiceBox cb = new ChoiceBox<>(); for (int i = 0; i < 20; i++) { cb.getItems().add("Option " + i); } From c50435b178af7b9182aca9fabb4dde1419e848f2 Mon Sep 17 00:00:00 2001 From: Dominik Gruntz Date: Wed, 1 Aug 2018 19:50:57 +0200 Subject: [PATCH 2/3] Generic table view Declares the TableView tableView as a generic type: TableView tableView = new TableView<>(); However, with this change the method call tableView.getColumns().addAll(firstName, lastName, goals); leads to the warning "A generic array of TableColumn is created for a varargs", therefore I added a suppress warnings annotation. --- .../src/main/java/de/javafxbuch/MainApp.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Kapitel 4/4.2.8/controls-tableview/src/main/java/de/javafxbuch/MainApp.java b/Kapitel 4/4.2.8/controls-tableview/src/main/java/de/javafxbuch/MainApp.java index 3f2bb23..44423d1 100644 --- a/Kapitel 4/4.2.8/controls-tableview/src/main/java/de/javafxbuch/MainApp.java +++ b/Kapitel 4/4.2.8/controls-tableview/src/main/java/de/javafxbuch/MainApp.java @@ -24,10 +24,11 @@ public static void main(String[] args) throws Exception { launch(args); } - @Override + @SuppressWarnings("unchecked") + @Override public void start(Stage primaryStage) { - TableView tableView = new TableView(); - ObservableList< Player> players = FXCollections + TableView tableView = new TableView<>(); + ObservableList players = FXCollections .observableArrayList( new Player("Manuel", "Neuer", 0), new Player("Philipp", "Lahm", 0), @@ -36,9 +37,9 @@ public void start(Stage primaryStage) { new Player("Benedikt", "Höwedes", 0) ); tableView.setItems(players); - TableColumn firstName = new TableColumn("Vorname"); - TableColumn lastName = new TableColumn("Nachname"); - TableColumn goals = new TableColumn("Tore"); + TableColumn firstName = new TableColumn<>("Vorname"); + TableColumn lastName = new TableColumn<>("Nachname"); + TableColumn goals = new TableColumn<>("Tore"); tableView.getColumns().addAll(firstName, lastName, goals); firstName.setCellValueFactory( new PropertyValueFactory("firstName") @@ -46,7 +47,7 @@ public void start(Stage primaryStage) { lastName.setCellValueFactory( new PropertyValueFactory("lastName")); goals.setCellValueFactory( - new PropertyValueFactory< Player, Integer>("goals") + new PropertyValueFactory("goals") ); goals.setCellFactory(new Callback, TableCell>() { @Override From 374c9111fbf1b618dfc6b2ed309f03a808bee351 Mon Sep 17 00:00:00 2001 From: Dominik Gruntz Date: Thu, 2 Aug 2018 00:10:55 +0200 Subject: [PATCH 3/3] Removes a cast Removes the cast to Player in the line ((Player) t.getTableView().getItems().get(t.getTablePosition() .getRow())).setFirstName(t.getNewValue()); as this is given by the generics declaration. --- .../src/main/java/de/javafxbuch/MainApp.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Kapitel 4/4.2.8/controls-tableview/src/main/java/de/javafxbuch/MainApp.java b/Kapitel 4/4.2.8/controls-tableview/src/main/java/de/javafxbuch/MainApp.java index 44423d1..1e866c6 100644 --- a/Kapitel 4/4.2.8/controls-tableview/src/main/java/de/javafxbuch/MainApp.java +++ b/Kapitel 4/4.2.8/controls-tableview/src/main/java/de/javafxbuch/MainApp.java @@ -45,13 +45,14 @@ public void start(Stage primaryStage) { new PropertyValueFactory("firstName") ); lastName.setCellValueFactory( - new PropertyValueFactory("lastName")); + new PropertyValueFactory("lastName") + ); goals.setCellValueFactory( new PropertyValueFactory("goals") ); - goals.setCellFactory(new Callback, TableCell>() { + goals.setCellFactory(new Callback, TableCell>() { @Override - public TableCell< Player, Integer> call(TableColumn< Player, Integer> param) { + public TableCell call(TableColumn param) { return new GoalsCell(); } }); @@ -61,7 +62,7 @@ public TableCell< Player, Integer> call(TableColumn< Player, Integer> param) { firstName.setOnEditCommit(new EventHandler>() { @Override public void handle(CellEditEvent t) { - ((Player) t.getTableView().getItems().get(t.getTablePosition().getRow())).setFirstName(t.getNewValue()); + t.getTableView().getItems().get(t.getTablePosition().getRow()).setFirstName(t.getNewValue()); } }); StackPane root = new StackPane(tableView);