コード例 #1
0
 private boolean match(TablePosition pos) {
   return pos != null && pos.getRow() == getIndex() && pos.getTableColumn() == getTableColumn();
 }
コード例 #2
0
  @Override
  public void handle(MouseEvent click) {
    @SuppressWarnings("rawtypes")
    TablePosition pos = groupsTable.getSelectionModel().getSelectedCells().get(0);
    if (click.getClickCount() == 2) {
      groupsTable.getSelectionModel().setCellSelectionEnabled(true);
      if (pos.getColumn() == 1) {
        try {
          TableColumn<GroupModel, String> firstNameCol = pos.getTableColumn();
          firstNameCol.setCellFactory(TextFieldTableCell.<GroupModel>forTableColumn());
          firstNameCol.setOnEditCommit(
              (TableColumn.CellEditEvent<GroupModel, String> t) -> {
                GroupModel model =
                    ((GroupModel) t.getTableView().getItems().get(t.getTablePosition().getRow()));
                if (t.getNewValue().isEmpty()) {
                  emptyCheckingError();
                } else {
                  model.setGroupName(t.getNewValue());
                  DBConnector.getInstance().updateGroupModel(model);

                  dbUpdatable.onDBUpdated();
                }
              });
        } catch (ClassCastException exc) {
          System.out.println("ClassCastException ");
        }
      } else if (pos.getColumn() == 2 || pos.getColumn() == 3) {
        TableColumn<GroupModel, Integer> firstNameCol = pos.getTableColumn();
        firstNameCol.setCellFactory(TextFieldTableCell.forTableColumn(new EditStringConverter()));
        try {
          firstNameCol.setOnEditCommit(
              new EventHandler<TableColumn.CellEditEvent<GroupModel, Integer>>() {
                @Override
                public void handle(TableColumn.CellEditEvent<GroupModel, Integer> tt) {
                  int row = tt.getTablePosition().getRow();
                  int column = tt.getTablePosition().getColumn();
                  GroupModel rowModel = ((GroupModel) tt.getTableView().getItems().get(row));
                  Integer rowNewValue = tt.getNewValue().intValue();
                  if (tt.getNewValue() == 0) {
                    emptyCheckingError();
                  } else if ((tt.getNewValue().getClass().isPrimitive())) {
                    // TODO: 1/4/2016
                    invalidDigitValue(tt.getNewValue().toString());
                  } else {
                    switch (column) {
                      case 2:
                        rowModel.setGroupYearGraduate(rowNewValue);
                        break;
                      case 3:
                        rowModel.setVillageElderId(rowNewValue);
                        break;
                    }
                    DBConnector.getInstance().updateGroupModel(rowModel);

                    dbUpdatable.onDBUpdated();
                  }
                }
              });
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    }
  }