package demos.components;
import com.jfoenix.controls.JFXButton;
import com.jfoenix.controls.JFXListView;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class ListViewDemo extends Application {
private static final String ITEM = "Item ";
private int counter = 0;
@Override
public void start(Stage stage) throws Exception {
JFXListView<Label> list = new JFXListView<>();
for (int i = 0; i < 4; i++) {
list.getItems().add(new Label(ITEM + i));
}
list.getStyleClass().add("mylistview");
ListView<String> javaList = new ListView<>();
for (int i = 0; i < 4; i++) {
javaList.getItems().add(ITEM + i);
}
FlowPane pane = new FlowPane();
pane.setStyle("-fx-background-color:WHITE");
JFXButton button3D = new JFXButton("3D");
button3D.setOnMouseClicked(e -> list.depthProperty().set(++counter % 2));
JFXButton buttonExpand = new JFXButton("EXPAND");
buttonExpand.setOnMouseClicked(e -> {
list.depthProperty().set(1);
list.setExpanded(true);
});
JFXButton buttonCollapse = new JFXButton("COLLAPSE");
buttonCollapse.setOnMouseClicked(e -> {
list.depthProperty().set(1);
list.setExpanded(false);
});
pane.getChildren().add(button3D);
pane.getChildren().add(buttonExpand);
pane.getChildren().add(buttonCollapse);
AnchorPane listsPane = new AnchorPane();
listsPane.getChildren().add(list);
AnchorPane.setLeftAnchor(list, 20.0);
listsPane.getChildren().add(javaList);
AnchorPane.setLeftAnchor(javaList, 300.0);
VBox box = new VBox();
box.getChildren().add(pane);
box.getChildren().add(listsPane);
box.setSpacing(40);
StackPane main = new StackPane();
main.getChildren().add(box);
main.setBackground(new Background(new BackgroundFill(Color.WHITE, CornerRadii.EMPTY, Insets.EMPTY)));
StackPane.setMargin(pane, new Insets(20, 0, 0, 20));
final Scene scene = new Scene(main, 600, 600, Color.WHITE);
stage.setTitle("JFX ListView Demo ");
scene.getStylesheets().add(ListViewDemo.class.getResource("/css/jfoenix-components.css").toExternalForm());
stage.setScene(scene);
stage.setResizable(false);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}