本文共 2157 字,大约阅读时间需要 7 分钟。
package javafxui;import javafx.scene.control.cell.CheckBoxListCell;import javafx.scene.control.cell.ComboBoxListCell;import java.awt.Checkbox;import javafx.application.Application;import javafx.collections.FXCollections;import javafx.collections.ObservableList;import javafx.geometry.Orientation;import javafx.scene.Scene;import javafx.scene.control.ListView;import javafx.scene.control.SelectionMode;import javafx.scene.layout.StackPane;import javafx.scene.layout.VBox;import javafx.stage.Stage;public class LearnListView extends Application{ public static final ObservableList names = FXCollections.observableArrayList(); public static final ObservableList data = FXCollections.observableArrayList(); @Override public void start(Stage stage) { /*@1 * 创建ListView * setPrefWidth()/setPrefHeight()设置宽高 或者setPrefSize(wid, height) * */ ListViewlist = new ListView<>(); ObservableList items =FXCollections.observableArrayList ( "Single", "Double", "Suite", "Family App"); list.setItems(items); list.setPrefSize(100, 100); list.setOrientation(Orientation.HORIZONTAL); list.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);//设置为可以多选 默认为单选的 list.setEditable(true); /*@2 * 使用数据来填充List View * * CheckBoxListCell\ ChoiceBoxListCell \ ComboBoxListCell \ TextFieldListCell * */ ListView listView = new ListView<>(data); names.addAll( "Adam", "Alex", "Alfred", "Albert", "Brenda", "Connie", "Derek", "Donny", "Lynne", "Myrtle", "Rose", "Rudolph", "Tony", "Trudy", "Williams", "Zach" ); for (int i = 0; i < 18; i++) { data.add("anonym"); } listView.setItems(data); listView.setCellFactory(ComboBoxListCell.forListView(names));//为每一个data项 增加的 附加列表 listView.setEditable(true); StackPane root = new StackPane(); root.getChildren().add(listView); // VBox vBox = new VBox();// vBox.getChildren().add(list); Scene scene = new Scene(root); stage.setScene(scene); stage.setTitle("Hello"); stage.show(); } public static void main(String[] args) { Application.launch(args); }}
转载地址:http://loimi.baihongyu.com/