Ejemplo n.º 1
0
  private HBox initGUIcenterRechtsZeile8() {
    HBox zeile = new HBox(10);

    VBox spalte1 = new VBox(10);
    ListView<String> listeTeilnehmer = new ListView<String>(erzeugeListe());
    listeTeilnehmer.setPrefHeight(100);
    listeTeilnehmer.setPrefWidth(320);
    RahmenTitelWeiss rahmenTeilnehmer = new RahmenTitelWeiss("Teilnehmer", listeTeilnehmer);
    spalte1.getChildren().add(rahmenTeilnehmer);

    VBox spalte2 = new VBox(10);
    ListView<String> listeKunden = new ListView<String>(erzeugeListe());
    listeKunden.setPrefHeight(100);
    listeKunden.setPrefWidth(320);
    RahmenTitelWeiss rahmenKunden = new RahmenTitelWeiss("Kunden", listeKunden);
    spalte2.getChildren().add(rahmenKunden);

    zeile.getChildren().add(spalte1);
    zeile.getChildren().add(spalte2);

    return zeile;
  }
Ejemplo n.º 2
0
  private HBox initGUIcenterRechtsZeile7() {
    HBox zeile = new HBox(10);

    TextArea info = new TextArea();
    info.setPrefRowCount(6);
    info.setPrefColumnCount(36);
    info.setWrapText(true);
    info.setEditable(false);
    RahmenTitelWeiss rahmenLoginname = new RahmenTitelWeiss("Info", info);

    ListView<String> gruppen = new ListView<String>();
    gruppen.setPrefWidth(190);
    gruppen.setPrefHeight(50);
    RahmenTitelWeiss rahmenGruppen = new RahmenTitelWeiss("Gruppen", gruppen);

    zeile.getChildren().add(rahmenLoginname);
    zeile.getChildren().add(rahmenGruppen);
    return zeile;
  }
  /**
   * A Popup containing Listview is trigged from this function This function automatically resize
   * it's height and width according to the width of textbox and item's cell height
   */
  public void showPopup(String newValue) {
    ListView<String> listView = new ListView<>();
    listView.setPrefWidth(textField.getWidth());

    listView.getSelectionModel().clearSelection();
    listView.getFocusModel().focus(-1);

    listView.setItems(searchItems(newValue));

    // Set ListView height
    if (listView.getItems().size() > getDefaultLimitCount()) {
      listView.setPrefHeight(getDefaultLimitCount() * getDefaultPrefHeight());
    } else {
      listView.setPrefHeight(listView.getItems().size() * getDefaultPrefHeight());
    }

    listView.setOnMouseReleased(
        event -> {
          textField.setText(listView.getSelectionModel().getSelectedItem());
          textField.requestFocus();
          textField.requestLayout();
          textField.end();
          popup.hide();
          onSelectAction(listView.getSelectionModel().getSelectedItem());
        });

    listView.setOnKeyReleased(
        event -> {
          switch (event.getCode()) {
            case ENTER:
              textField.setText(listView.getSelectionModel().getSelectedItem());
              textField.requestFocus();
              textField.requestLayout();
              textField.end();
              popup.hide();
              onSelectAction(listView.getSelectionModel().getSelectedItem());
              break;
            default:
              break;
          }
        });

    // This cell factory helps to know which cell has been selected so that
    // when ever any cell is selected the textbox rawText must be changed
    listView.setCellFactory(
        view -> {
          // A simple ListCell containing only Label
          final ListCell<String> cell =
              new ListCell<String>() {
                public void updateItem(String item, boolean empty) {
                  super.updateItem(item, empty);
                  setText(item);
                }
              };

          return cell;
        });
    popup.getContent().clear();
    popup.getContent().add(listView);

    // SHOWING THE POPUP JUST BELOW TEXTBOX
    popup.show(
        getWindow(),
        getWindow().getX() + textField.localToScene(0, 0).getX() + textField.getScene().getX(),
        getWindow().getY()
            + textField.localToScene(0, 0).getY()
            + textField.getScene().getY()
            + getDefaultPrefHeight());
  }