博客
关于我
【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/

你可能感兴趣的文章
.net Core 使用IHttpClientFactory请求
查看>>
多线程之旅(准备阶段)
查看>>
Python 之网络式编程
查看>>
MySql5.5安装步骤及MySql_Front视图配置
查看>>
mybatis绑定错误-- Invalid bound statement (not found)
查看>>
springmvc Controller详解
查看>>
mybatis #{}和${}区别
查看>>
Java Objects工具类重点方法使用
查看>>
Java内存模型(JMM)
查看>>
AQS相关
查看>>
在IIS与SQL Server 2005中设置,让Reporting Services发布的web报表允许匿名访问
查看>>
abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一)
查看>>
abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)
查看>>
abp(net core)+easyui+efcore实现仓储管理系统——入库管理之八(四十四)
查看>>
WCF学习之旅—第三个示例之一(二十七)
查看>>
java ThreadPoolExecutor初探
查看>>
Markdown进阶
查看>>
快速指数算法
查看>>
python去除字符串中的特殊字符(爬虫存储数据时会遇到不能作为文件名的字符串)
查看>>
PHP将网址快捷方式保存到桌面
查看>>