SearchBarComponent.java
package edu.ntnu.idi.idatt.view.components.elements;
import javafx.beans.property.SimpleStringProperty;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
/**
* Searchbar component class.
*
* <p>
* JavaFX Component for handeling repetative tasks.
* Creates a searchbar.
* </p>
*/
public class SearchBarComponent extends HBox {
private final SimpleStringProperty query = new SimpleStringProperty();
/**
* Constructor for SearchBarComponent.
*
* @param placeholder - The placeholder text for empty searchbar.
*/
public SearchBarComponent(String placeholder) {
this.setAlignment(Pos.CENTER);
TextField searchBar = new TextField();
searchBar.getStyleClass().add("searchbar-field");
searchBar.setPromptText(placeholder);
searchBar.textProperty().bindBidirectional(query);
searchBar.setFocusTraversable(false);
searchBar.setPadding(new Insets(10));
searchBar.setMinWidth(300);
this.getChildren().addAll(searchBar);
}
/**
* Getter for query property.
*
* @return SimpleStringProperty;
*/
public SimpleStringProperty getQuery() {
return query;
}
}