`
hepeng19861212
  • 浏览: 150513 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ListSelectionListener 的两次响应

阅读更多

当用鼠标对表格进行选取,在响应行选取变化事件(ListSelectionListener)时,鼠标按下会响应一次,鼠标释放又会响应一次,因此一次鼠标的点击会有两次事件响应(按下和释放)。前者的事件属性中getValueIsAdjusting()=true,后者是false。因此,可以通过判断getValueIsAdjusting()来区别鼠标按下和释放,进行不同的操作。

而用键盘的上下键选取时,只有一次事件响应。

ps:本来天真地以为是java的一个bug,。大名鼎鼎的JAVA怎么会有这种低级的BUG呢???
分享到:
评论

相关推荐

    ListSelectionListener,鼠标选中,键盘选中

    `ListSelectionListener`是Java Swing中处理列表组件选择变化的关键工具,无论是鼠标点击还是键盘操作,都能确保你及时响应用户的交互行为。通过理解其工作原理并合理封装,可以提高代码的复用性和可读性,使应用...

    Java Swing中JList选择事件监听器ListSelectionListener用法示例

    这时,`ListSelectionListener`就派上了用场。本文将深入探讨如何使用`ListSelectionListener`以及它在实际编程中的应用。 首先,`ListSelectionListener`是一个接口,它包含了一个名为`valueChanged`的方法。当你...

    JList事件监听器的实现例子

    // 当选择停止调整时执行,防止多次触发 int index = list.getSelectedIndex(); if (index != -1) { String selectedValue = list.getModel().getElementAt(index); System.out.println("Selected item: " + ...

    JTable实例,java表格实例

    例如,我们可以添加一个`ListSelectionListener`来响应单元格的选择变化: ```java table.getSelectionModel().addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelection...

    Swing事件源可能触发的事件

    5. **JTextPane** 和 **JEditorPane**: 这两个富文本组件除了支持`CareEvent`和`DocumentEvent`外,还支持`UndoableEvent`和`HyperlinkEvent`。`DocumentListener`用于监听文档内容的变化,`UndoableEditListener`...

    SelectionModelDemo.rar_Java编程_Java_

    `SelectionModel`通过监听器(如`ListSelectionListener`)来响应用户的选择变化。 3. **ListSelectionListener**:`ListSelectionListener`是Java Swing事件处理的一部分,当`ListSelectionModel`的选择发生变化时...

    java测试题.pdf

    7. `ListSelectionListener`接口:Java的`ListSelectionListener`接口定义了`valueChanged(ListSelectionEvent lse)`方法,用于处理列表选择变化的事件。正确签名是A。 8. `JButton`组件事件:当用户按下`JButton`...

    Swing学生:Swing学生列表

    接着,可以设置`ListModel`来加载学生数据,并添加`ListSelectionListener`来响应用户选择。如果需要,还可以添加搜索、排序、添加和删除学生的功能。此外,可以考虑设计一个美观的界面布局,以提供良好的用户体验。...

    Java显示数据表格的例子.rar

    通过添加 `MouseListener`, `KeyListener` 或 `ListSelectionListener`,你可以响应用户的交互行为。 5. **数据绑定**: 在更复杂的应用中,你可能会使用 JavaBeans 规范的 `PropertyChangeListener` 或 `...

    java中为table添加监听

    4. **键盘监听器(KeyListener)**:用于响应用户的键盘输入,可以监听用户在单元格内的按键行为。 ```java table.addKeyListener(new KeyAdapter() { public void keyTyped(KeyEvent e) { // 处理键盘输入的逻辑...

    JList example

    - 可能会包含`ListSelectionListener`的注册,如`list.addListSelectionListener(new ListSelectionListener() {...})`,以响应用户的选择变化。 `JList` 还支持自定义渲染,通过实现`ListCellRenderer`接口,你...

    Java列表框与数据库绑定

    为了响应用户的交互,可以添加一个ListSelectionListener。当用户选择列表中的项时,监听器会被触发,可以处理选择事件。 8. **Swing更新** 如果数据库数据发生变化,可能需要实时更新JList。这可能涉及到定期...

    用JAVA语言实现图片浏览

    总结来说,这个代码示例展示了如何使用Java Swing创建一个基本的图片浏览器,包括加载图片列表、响应用户选择和显示图片。虽然示例代码不完整,但其核心概念和结构对于理解和实现类似的GUI应用非常有帮助。在实际...

    Java Swing JList列表框的实现

    * addListSelectionListener(ListSelectionListener listener):添加选项选中状态被改变的监听器。 代码实例 以下是一个简单的 JList 实例代码: ```java package com.xiets.swing; import javax.swing.*; import...

    kwic(java)

    - `ListSelectionListener`: 用于监听列表选择变化。 ### 代码片段解析 #### 主界面布局 - 使用了`Box`布局管理器来组织界面元素,提供了一种更为灵活的方式来排列组件。 - 通过添加`VerticalStrut`和`...

    compiere 工作流审批界面修改

    同时,为了支持不同需求,还新增了两个构造函数,允许用户在创建`CTable`时决定是否包含行头。 2. **功能实现**: 在`CTable`类中,对`getRowHeader()`和`setRowHeader()`方法进行了实现,确保行头组件能够正确地...

    HW_LIST_VIEW

    在Java中,通常我们会使用JavaFX或Swing来创建图形用户界面(GUI),这两个库都提供了列表视图的组件。JavaFX的`ListView`和Swing的`JList`就是用来展示列表数据的控件。这些控件可以动态地加载和显示数据,支持单选...

    java模拟资源管理器

    1. **Swing 或 JavaFX**:这两个库提供了丰富的组件来构建桌面应用。例如,`JFrame`用于创建窗口,`JList`或`TreeView`用于显示文件和目录,`JButton`用于执行操作,如打开、复制、移动和删除文件。 2. **文件和...

    高级swing组件PPT

    视图并不直接修改模型,而是响应模型的变化并更新自己的显示。在Swing中,视图通常是组件的外观,如JButton的显示样式。 - **控制器(Controller)**:处理用户输入,根据用户的操作决定是否改变模型或视图。例如,...

    总结java编程中的经验教训

    例如,在给定的代码片段中,“Jsubnetframe”类试图实现`ListSelectionListener`接口,但却没有实现接口中定义的`valueChanged`方法。这导致编译器报错,提示该类应声明为抽象类。这是因为Java不允许非抽象类存在未...

Global site tag (gtag.js) - Google Analytics