fork(1) download
  1. import java.util.List;
  2. import java.util.stream.Collectors;
  3. import java.util.stream.IntStream;
  4. import javafx.beans.property.SimpleStringProperty;
  5. import javafx.beans.property.StringProperty;
  6. import javafx.collections.FXCollections;
  7. import javafx.collections.ObservableList;
  8. import javafx.fxml.FXML;
  9.  
  10. /*Based on SO Answer : https://stackoverflow.com/a/41663687/3992939 */
  11. public class TableController {
  12.  
  13. private final ObservableList<Item> items = FXCollections.observableArrayList();
  14.  
  15. @FXML
  16. private void initialize() {
  17. items.setAll(createItems());
  18. }
  19.  
  20. @FXML
  21. private void loadItems() {
  22. items.addAll(createMoreItems());
  23. }
  24.  
  25. private List<Item> createItems() {
  26. return IntStream.rangeClosed(0, 9)
  27. .mapToObj(i -> "Item "+i)
  28. .map(Item::new)
  29. .collect(Collectors.toList());
  30. }
  31. private List<Item> createMoreItems() {
  32. return IntStream.rangeClosed(items.size(), items.size()+10)
  33. .mapToObj(i -> "Item "+i)
  34. .map(Item::new)
  35. .collect(Collectors.toList());
  36. }
  37.  
  38. public ObservableList<Item> getItems() {
  39. return items ;
  40. }
  41.  
  42.  
  43. public static class Item {
  44. private final StringProperty name = new SimpleStringProperty();
  45.  
  46. public Item(String name) {
  47. setName(name);
  48. }
  49.  
  50. public final StringProperty nameProperty() {
  51. return name;
  52. }
  53.  
  54. public final java.lang.String getName() {
  55. return nameProperty().get();
  56. }
  57.  
  58. public final void setName(final java.lang.String name) {
  59. nameProperty().set(name);
  60. }
  61. }
  62. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:10: error: class TableController is public, should be declared in a file named TableController.java
public class TableController {
       ^
Main.java:4: error: package javafx.beans.property does not exist
import javafx.beans.property.SimpleStringProperty;
                            ^
Main.java:5: error: package javafx.beans.property does not exist
import javafx.beans.property.StringProperty;
                            ^
Main.java:6: error: package javafx.collections does not exist
import javafx.collections.FXCollections;
                         ^
Main.java:7: error: package javafx.collections does not exist
import javafx.collections.ObservableList;
                         ^
Main.java:8: error: package javafx.fxml does not exist
import javafx.fxml.FXML;
                  ^
Main.java:12: error: cannot find symbol
    private final ObservableList<Item> items = FXCollections.observableArrayList();
                  ^
  symbol:   class ObservableList
  location: class TableController
Main.java:37: error: cannot find symbol
    public ObservableList<Item> getItems() {
           ^
  symbol:   class ObservableList
  location: class TableController
Main.java:43: error: cannot find symbol
        private final StringProperty name = new SimpleStringProperty();
                      ^
  symbol:   class StringProperty
  location: class Item
Main.java:49: error: cannot find symbol
        public final StringProperty nameProperty() {
                     ^
  symbol:   class StringProperty
  location: class Item
Main.java:14: error: cannot find symbol
    @FXML
     ^
  symbol:   class FXML
  location: class TableController
Main.java:19: error: cannot find symbol
    @FXML
     ^
  symbol:   class FXML
  location: class TableController
Main.java:12: error: cannot find symbol
    private final ObservableList<Item> items = FXCollections.observableArrayList();
                                               ^
  symbol:   variable FXCollections
  location: class TableController
Main.java:43: error: cannot find symbol
        private final StringProperty name = new SimpleStringProperty();
                                                ^
  symbol:   class SimpleStringProperty
  location: class Item
14 errors
stdout
Standard output is empty