首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JAVA :带有地图数据的TableVIew,当输入失去焦点时更新值

JAVA是一种广泛使用的编程语言,它具有跨平台、面向对象、高性能等特点。在云计算领域中,JAVA被广泛应用于前端开发、后端开发、移动开发等方面。

对于带有地图数据的TableView,当输入失去焦点时更新值,可以通过以下步骤实现:

  1. 创建一个TableView对象,并设置其列数和行数。
  2. 为每一列设置一个CellFactory,用于自定义每个单元格的显示内容和编辑行为。
  3. 在CellFactory中,创建一个TextField或其他合适的输入控件,并将其添加到单元格中。
  4. 监听输入控件的失去焦点事件,当输入控件失去焦点时,获取输入的值并更新到对应的数据模型中。
  5. 在数据模型中,更新对应的地图数据,并通知TableView刷新显示。

以下是一个示例代码:

代码语言:java
复制
import javafx.application.Application;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.TextFieldTableCell;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class MapTableViewExample extends Application {

    private TableView<MapData> tableView;
    private ObservableList<MapData> data;

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Map TableView Example");

        // 创建数据
        data = FXCollections.observableArrayList();
        data.add(new MapData("Key1", "Value1"));
        data.add(new MapData("Key2", "Value2"));
        data.add(new MapData("Key3", "Value3"));

        // 创建TableView
        tableView = new TableView<>();
        tableView.setEditable(true);

        // 创建列
        TableColumn<MapData, String> keyColumn = new TableColumn<>("Key");
        keyColumn.setCellValueFactory(cellData -> cellData.getValue().keyProperty());
        keyColumn.setCellFactory(TextFieldTableCell.forTableColumn());
        keyColumn.setOnEditCommit(event -> {
            MapData mapData = event.getRowValue();
            mapData.setKey(event.getNewValue());
        });

        TableColumn<MapData, String> valueColumn = new TableColumn<>("Value");
        valueColumn.setCellValueFactory(cellData -> cellData.getValue().valueProperty());
        valueColumn.setCellFactory(TextFieldTableCell.forTableColumn());
        valueColumn.setOnEditCommit(event -> {
            MapData mapData = event.getRowValue();
            mapData.setValue(event.getNewValue());
        });

        tableView.getColumns().addAll(keyColumn, valueColumn);
        tableView.setItems(data);

        // 创建布局
        VBox vbox = new VBox(tableView);

        // 创建场景
        Scene scene = new Scene(vbox);

        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static class MapData {
        private final SimpleStringProperty key;
        private final SimpleStringProperty value;

        public MapData(String key, String value) {
            this.key = new SimpleStringProperty(key);
            this.value = new SimpleStringProperty(value);
        }

        public String getKey() {
            return key.get();
        }

        public void setKey(String key) {
            this.key.set(key);
        }

        public ObservableValue<String> keyProperty() {
            return key;
        }

        public String getValue() {
            return value.get();
        }

        public void setValue(String value) {
            this.value.set(value);
        }

        public ObservableValue<String> valueProperty() {
            return value;
        }
    }
}

在这个示例中,我们创建了一个带有两列的TableView,分别是Key和Value。每个单元格都使用TextField作为编辑控件,并在失去焦点时更新对应的数据模型。

对于带有地图数据的TableView,当输入失去焦点时更新值的应用场景可以是地图编辑器、数据可视化等需要展示和编辑地图数据的应用程序。

腾讯云提供了丰富的云计算产品和服务,其中与JAVA开发相关的产品包括云服务器、云数据库、云存储等。您可以通过访问腾讯云官网(https://cloud.tencent.com/)了解更多相关产品和详细信息。

相关搜索:单击当输入失去焦点时移动的按钮未注册当存在NaN值时,无法更新Pandas数据帧中的值带有数据库值和更新的Laravel + Vuejs输入表单带有UpdateSourceTrigger的TextBox上的文本=当文本输入的强制导致源值保持不变时,不会更新PropertyChanged当输入具有页面加载或用户更改的值时更新Alpinejs x-data当key出现在地图中时,有条件地替换数据帧中的值当MyBatis传入的参数数据类型为java map时,如何执行更新操作?当该值在mat-option期间更新时,不会在来自模板的输入上触发valueChanges当给定特定条件时,通过pandas数据帧的列中的用户定义函数输入值当组件处于从函数传递的状态时,Ant设计表单验证不起作用,并且不更新输入值当我尝试更新表中的值时,我得到的输入字符串是:"{id}(id=1)“的java.lang.NumberFormatException:带有pandas的数据帧将索引设置为date_range,但当它被设置时,所有值都将变为NaN如何编写一个函数,当某些值为none数据类型时,将带有附加条件的列表中的值进行比较当表包含NULL值时,如何使用joins将数据从DB添加到Java Swing中的jTable?当数据框中的列表项与另一个数据框列中的列表项匹配时,更新数据框中的NaN值获取选择输入选项的数据帧的唯一值,但仅当数据帧是在server.ui中定义而不是全局定义时提交一个捕获一些错误并保存其他数据的表单,当表单重新提交时,我如何让这些输入值清空?如何在postgres中编写触发器,当数据插入到同一表中具有相同值的另一cloum中时,更新另一列?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Java事件处理,低级事件类型:键盘事件+焦点事件,你真的懂吗?

    当Java窗口接收到敲击键盘的操作,并定位于某个特定的组件时,这个组件就具有了焦点(focus)。...当文本域具有焦点的时候,可以将文本输入到文本域中;当按钮有焦点的时候,可以通过敲击空格键来“点击”这个按钮。 在一个窗口中,最多只有一个组件拥有焦点。...如果用户点击另一个组件,那么刚才拥有焦点的组件就会失去(lose)焦点,而被点击的组件就会获得焦点。用户还可以使用TAB键在各个组件上轮流切换焦点。这样可以遍历到所有能够接收输入焦点的组件。...一个组件焦点监听器必须实现FocusListener接口及两个方法focusGained和focusLost。当组件获得或失去焦点时将会触发这两个方法。这两个方法都有一个FocusEvent类的参数。...在JDK 1.4中,当焦点转移的时候,可以找到“对等物”组件或窗口。对等物是指在组件或窗口失去焦点时获得焦点的组件或窗口。相反地,当组件或窗口获得焦点时,对等物是刚刚失去焦点的那个组件或窗口。

    4K30

    JavaSwing_8.1:焦点事件及其监听器 - FocusEvent、FocusListener

    低级别事件指示Component已获得或失去输入焦点。 由组件生成此低级别事件(如一个TextField)。...当暂时丢失焦点的组件的另一个操作,比如释放Window或拖动滚动条的间接结果一时焦点变化的事件发生。...当组件获得或失去键盘焦点时,可调用侦听器对象中的相关方法,并将 FocusEvent 传递给它。 API focusGained ? focusLost ?...例如,当焦点从按钮转到文本字段时,按钮会触发焦点丢失事件(文本字段为相反的组件),然后文本字段会触发焦点获取事件(带有按钮作为相反的组件)。失去焦点以及获得焦点的事件可能是暂时的。...例如,当窗口失去焦点时,会发生一个临时的焦点丢失事件。临时获得焦点的事件发生在弹出菜单上。 ?

    4.7K10

    java Swing用户界面组件文本输入:文本域+密码域+格式化的输入域

    失去焦点的行为 试想一下当用户在文本域中输入之后会发生什么情况。用户输入后最终决定离开这个区域,也许是通过鼠标点击另一个组件。于是,文本域就失去焦点(lose focus)。...键盘输入将作用于另一个组件。 当格式化的文本域失去焦点时,格式器查看用户输入的文本字符串。如果格式器知道如何把文本字符串转换为对象,文本就有效,否则就无效。...相反地,如果文本字符串无效,当前值就不会改变。文本域恢复表示原值的字符串。例如,如果用户输入错误的值(像x1),那么在文本域失去焦点时就会恢复原值。...无论何时失去焦点,用户输入都将被抛弃,文本字符串恢复到原值。 注意:通常,“提交或恢复”默认行为是合理的。只是存在一个潜在的问题。假设一个对话框包含一个整型值的文本域。...格式器针对文本域值调用toString方法来初始化文本域的文本。当文本域失去焦点时,格式器使用带有String参数的构造器构造相同类的新对象作为当前值。如果构造器抛出了异常,编辑就是无效的。

    4.1K10

    day01jQuery节点操作

    所以当前jquery对象代表对个标签获取值时 默认返回第一个dom对象的值 console.log($input.val()) 2.3 获取及修改样式 多样式的修改语法与...对象 //类似于java中的封装 Java中的类封装后不允许通过.属性进行操作 而是提供了对应属性操作的方法 //jquery对dom封装后 不能直接使用dom对象的属性(因为获取的不是...当元素获取焦点及失去焦点时触发该事件,失去焦点blur,获取焦点focus //焦点事件,当输入框获取到焦点时改变其背景颜色 $('input').focus(function(){ $(this...).css('background-color','pink') }) //失去焦点事件,当输入框失去焦点时将背景变为白色 $('input').blur(function(){ $(this)...,根据版本的迭代更新,目前常用的主流的是on事件,其他的事件有:bind/unbind,live/die,delegate/undelegate。

    2700

    在iOS中怎样创建可展开的Table View?(下)

    ,会变为可见的,当cell合拢的时候,优惠变为隐藏.实际上,通过改变那个属性的值,我们实际上实现了打开的效果(或是合拢的效果).所以,让我们修改上面的代码: func tableView(tableView...拾取值 从现在开始我们可完全专注于处理输入数据和与用户交互的子cell的控制了.我们通过实现逻辑,当cell的"idCellValuePicker"标识符被点击的时候,将会才去行动.在我们的demo里,...数组里更新开关的值,那样当tableView刷新的时候,它就会有合适的状态.在下面的代码片段里,你将会注意到我们首先确定基于开关状态合适的值,然后我们分配给他们各自的属性: func maritalStatusSwitchChangedState...cell.我们要动态地组成全名,一旦姓和名都输入了.我们需要指定包含文本框的cell的索引.最后我们会在顶级cell更新显示的文本(全名),并且会刷新tableView,如下代码: func textfieldTextWasChanged...tableView的方法,主要的特点就是在一个plist文件中,所有cell的描述都使用具体的属性.我向你展示了当cell显示,打开或是选中的时候,如何使用代码处理cell的描述列表;此外,我给了你一个方法通过用户输入数据来直接更新它

    1.5K30

    IntelliJ IDEA失焦自动重启服务的解决方法

    IDEA 热部署特性 热部署,即应用正属于运行状态时,我们对应用源码进行了修改更新,在不重新启动应用的情况下,可以能够自动的把更新的内容重新进行编译并部署到服务器上,使修改立即生效。...现象 在使用 IntelliJ IDEA运行 SpringBoot 项目时,你可能会遇到一个令人困扰的问题:一旦你的鼠标指针离开当前IDE窗口,点击其他位置时, IDE 窗口会失去焦点,你的 SpringBoot...解决方案 打开IDEA的Configuration 打开后,如下图所示: On frame deactivation : 当失去焦点 ---- 该配置项便是配置IDEA失焦时的执行方案,IDEA共有三种策略...and resources : 失去焦点后,修改的java ,resources文件都会立刻生效(与On update action中的Update classes and resources一样,也是运行模式修改的...java文件不会生效,debug模式修改的java文件会立刻生效) 当我们勾选Update classes and resources,当IDEA失焦时,IDEA便会自动更新classes and resources

    1.4K20

    《玩游戏,学技术》第二篇,用消息队列实现所有游戏功能

    pos Position } 当玩家碰到炸弹的时候,在一段时间内周期性向消息队列发送炸弹移动的事件即可。...如何定时更新房间的地图 地图中的障碍物是随机生成的,障碍物分为可摧毁的和不可摧毁的两种类型。考虑到可摧毁的障碍物会被玩家炸掉,我们需要给每个房间定时更新新的地图。 这个功能稍微有点难办。...Pulsar Function 允许你编写函数对 topic 中的数据进行一些处理,函数的输入就是一个或多个 topic 中的消息,函数的返回值可以发送到其他 topic 中。...肯定是可以的,刚才说了 Pulsar Function 可以把多个 topic 里的消息作为输入,那么我只要在 Pulsar Function 里面包一个 Redis 客户端,当然可以把数据写到 Redis...数据导到 Redis 中,做一些聚合和排序的工作就很简单了,后面的章节我介绍 Pulsar Connector 时再具体讲解。

    64620

    Using JavaFX UI Controls 12 Table View

    当数据模型已经定义完毕,数据已经添加并关联到对应的列,你还可以通过TableView 的setItems 方法来添加表格数据::table.setItems(data)....因为ObservableList 对象能够跟踪表格元素的任何变化,当其中的数据变化,TableView 的内容也自动更新。...你可以用 文本域 为Last Name, and Email columns键入新值 Text Field 组件能够使你的应用接收到用户输入的文本。例12-7 创建3个文本域。...setOnEditCommit 方法具有编辑 指派更新数据到相应表格单元格的能力。...表格列通过调用setCellValueFactory  来填充与指定键(key)相匹配的数据。以便第一列包含与”A“键(key)对应的值,第二列包含于key(键)”B“对应的值。

    11.4K20

    JavaScript集锦

    value 域内容的字符串值.? defaultValue 域内容的初始字符串值.? 方法? focus() 设置对象输入焦点.? blur() 从对象上移走输入焦点.?...select() 选定对象的输入区域.? 事件处理器? onFocus 当输入焦点进入时执行.? onBlur 当域失去焦点时执行.? onSelect 当域中有部分文本被选定时执行.?...onChange 当域失去焦点且域值相对于onFocus执行有所改变时执行. 复选框(checkbox)对象? 属性? name NAME属性的字符串值.?...selected 反映option的当前选择状态的布尔值.? 事件处理器? onFocus 当输入焦点进入域时执行.? onBlur 当域失去输入焦点时执行.?...onChange 当域失去焦点且如果域的值相对于onFocus执行时有所改变,则执行onChange.? Button对象? 表格中有三种类型按钮,由标记中的TYPE属性定义:?

    2.3K20

    JavaWeb day3 JavaScript入门

    如下图,当点击了输入框后,输入框就获得了焦点。而下图示例是当获取焦点后会更改输入框的背景颜色。 onblur 失去焦点事件。...如下图,当点击了输入框后,输入框就获得了焦点;再点击页面其他位置,那输入框就失去焦点了。下图示例是将输入的文本转换为大写。 onmouseout 鼠标移出事件。...完成以下需求: 当输入框失去焦点时,验证输入内容是否符合要求 当点击注册按钮时,判断所有输入框的内容是否都符合要求,如果不合符则阻止表单提交 8.2 环境准备 下面是初始页面 当密码输入框失去焦点时,判断输入的内容是否符合 长度是 6-12 位 规则,不符合使 id='password_err' 的span标签显示出来,给出用户提示。 校验手机号。...当手机号输入框失去焦点时,判断输入的内容是否符合 长度是 11 位 规则,不符合使 id='tel_err' 的span标签显示出来,给出用户提示。 代码如下: //1.

    7.4K20

    JavaWeb day3 JavsScript 入门

    如下图,当点击了输入框后,输入框就获得了焦点。而下图示例是当获取焦点后会更改输入框的背景颜色。 图片 onblur 失去焦点事件。...如下图,当点击了输入框后,输入框就获得了焦点;再点击页面其他位置,那输入框就失去焦点了。下图示例是将输入的文本转换为大写。 图片 onmouseout 鼠标移出事件。...完成以下需求: 当输入框失去焦点时,验证输入内容是否符合要求 当点击注册按钮时,判断所有输入框的内容是否都符合要求,如果不合符则阻止表单提交 8.2 环境准备 下面是初始页面 当密码输入框失去焦点时,判断输入的内容是否符合 长度是 6-12 位 规则,不符合使 id='password_err' 的span标签显示出来,给出用户提示。 校验手机号。...当手机号输入框失去焦点时,判断输入的内容是否符合 长度是 11 位 规则,不符合使 id='tel_err' 的span标签显示出来,给出用户提示。 代码如下: //1.

    7.5K10

    【javaScript案例】之搜索的数据显示

    ,剩下的细节可以去代码中查看~ 接着来看==JS进行比较==的部分: 总的思想呢,就是当输入内容时使下方显示搜索框,显示匹配的数据;不输入或输入数据不匹配时,不显示数据或显示暂无数据;搜索框失去焦点时使下方的搜索框消失...当我们在搜索框中输入内容时,我们可以调用onkeyup函数,先使下方的搜索框display属性值为block; 然后在其中调用forEach遍历数组中的所有数据,通过value获得输入的内容,调用indexOf...将该内容与数组中的数据进行比较,若有匹配项的话,其返回值是数组中数据的下标,否则为-1; 若有匹配项的话,我们可以利用innerHTML,在下面的显示框中添加p标签,p中的内容是匹配的数据;如果没有就返回内容是...‘暂无数据’的p标签 当该搜索框失去焦点时,我们令下方搜索框的display属性值为none就可以了 代码如下: <!...show.innerHTML=str; } } } //onblur 的事件会在对象失去焦点时发生

    71620

    Qt编写安防视频监控系统34-onvif事件订阅

    一、前言 事件订阅是近期增加的功能,主要是因为遇到越来越多的一个应用场景,能够接收摄像机的报警事件,比如几乎所有的摄像机后面会增加报警输入输出接口,如果用户外接了报警输入,则当触发报警以后,对应的事件也会通过...发送PullMessages的时候带有超时时间,一旦到了超时时间,也需要重新发送PullMessages。 onvif主要的功能 搜索设备,获取设备的信息比如厂家、型号等。...接收到的数据不是标准的xml数据,没法按照正常的节点解析来处理,只能用QXmlQuery来做。 每个厂家设备返回的数据未必完全一致,基本上都不一致,需要进行模糊查找节点值。...双击节点+拖曳节点+拖曳窗体交换位置,均自动更新url.txt。 支持从url.txt中加载通道视频播放,自动记忆最后通道对应的视频,软件启动后自动打开播放。...右下角音量条控件,失去焦点自动隐藏,音量条带静音图标。 集成百度在线地图和离线地图,可以添加设备对应位置,自动生成地图,支持缩放和添加覆盖物等。 视频拖动到通道窗体外自动删除视频。

    1K00
    领券