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;
 }
  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;
  }
Exemple #6
0
  @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();
  }
  /**
   * 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;
  }