博客
关于我
【JavaFX】ListView
阅读量:323 次
发布时间:2019-03-04

本文共 3494 字,大约阅读时间需要 11 分钟。

在这里插入图片描述

import javafx.application.Application;import javafx.beans.value.ChangeListener;import javafx.beans.value.ObservableValue;import javafx.collections.FXCollections;import javafx.collections.ObservableList;import javafx.event.ActionEvent;import javafx.event.EventHandler;import javafx.scene.Scene;import javafx.scene.control.Button;import javafx.scene.control.ListView;import javafx.scene.control.ScrollToEvent;import javafx.scene.control.SelectionMode;import javafx.scene.control.cell.TextFieldListCell;import javafx.scene.layout.AnchorPane;import javafx.stage.Stage;public class Main extends Application {       public static void main(String[] args) {           launch(args);    }    @Override    public void start(Stage primaryStage) throws Exception {           //数据源 可观察列表        ObservableList
obslist = FXCollections.observableArrayList(); obslist.add("data - a"); obslist.add("data - b"); obslist.add("data - c"); obslist.add("data - d"); obslist.add("data - e"); obslist.add("data - f"); obslist.add("data - g"); obslist.add("data - h"); obslist.add("data - i"); obslist.add("data - j"); obslist.add("data - k"); obslist.add("data - l"); obslist.add("data - m"); obslist.add("data - n"); obslist.add("data - o"); obslist.add("data - p"); obslist.add("data - q"); obslist.add("data - r"); ListView
listView = new ListView
(obslist); listView.setPrefHeight(200); Button bu = new Button("按钮"); AnchorPane an = new AnchorPane(); an.getChildren().addAll(listView,bu); AnchorPane.setTopAnchor(listView,100.0); AnchorPane.setLeftAnchor(listView,100.0); //单选或多选 listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);//多选 //监听 项 listView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener
() { @Override public void changed(ObservableValue
observable, String oldValue, String newValue) { System.out.println("项 = " + newValue); } }); //监听 索引 listView.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener
() { @Override public void changed(ObservableValue
observable, Number oldValue, Number newValue) { System.out.println("索引 = " + newValue.intValue()); } }); //滚动事件 listView.scrollTo()执行可以触发 listView.setOnScrollTo(new EventHandler
>() { @Override public void handle(ScrollToEvent
event) { System.out.println(event.getScrollTarget()); } }); //双击可编辑 - 修改了原始数据 listView.setEditable(true); //工厂方法 listView.setCellFactory(TextFieldListCell.forListView()); Scene scene = new Scene(an); primaryStage.setScene(scene); primaryStage.setWidth(800); primaryStage.setHeight(800); primaryStage.setTitle("JavaFX"); primaryStage.show(); bu.setOnAction(new EventHandler
() { @Override public void handle(ActionEvent event) { //单选// listView.getSelectionModel().select("data - g");// listView.scrollTo("data - g");//滚动到// listView.requestFocus();//获得焦点 //多选// listView.getSelectionModel().selectIndices(1,2,4);//按钮按下后选中下标为1,2,4的项// listView.requestFocus();//获得焦点// listView.getSelectionModel().getSelectedItems().forEach(System.out::println); obslist.forEach(System.out::println); } }); }}

参考:

转载地址:http://kvvh.baihongyu.com/

你可能感兴趣的文章
Processes, threads and goroutines
查看>>
c++中的10种常见继承
查看>>
Vue学习—深入剖析渲染函数
查看>>
wxpython的Hello,World代码探索
查看>>
【数字图像处理】OpenCV3 学习笔记
查看>>
【单片机开发】智能小车工程(经验总结)
查看>>
【单片机开发】基于stm32的掌上游戏机设计 (项目规划)
查看>>
KeepAlived介绍、配置示例、KeepAlived配置IPVS、调用脚本进行监控
查看>>
Scala集合-数组、元组
查看>>
04 程序流程控制
查看>>
C++&&STL
查看>>
子集(LeetCode 78)
查看>>
1093 Count PAT‘s (25分) 含DP做法
查看>>
一篇解决JMM与volatile详解(二)
查看>>
数据结构之数组与经典面试题(二)
查看>>
无锁并发框架-Disruptor的使用(二)
查看>>
Android4.4 平板背光设置
查看>>
codeforces The Eternal Immortality 题解
查看>>
微信js-sdk使用简述(分享,扫码功能等)
查看>>
selenium 的介绍和爬取 jd数据
查看>>