`
kgdso
  • 浏览: 88570 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

jtable覆盖输入模式

 
阅读更多

JTABLE的单元格cell的输入模式默认情况下是追加输入。也就是你单元格里面有值123,你focus到这个单元格,输入5,里面的值就变成1235。可是很多情况下客户想要的就是一个5,特别是一些数字后面带了很多0,比如12.00,要输入另外一个数字还要按5次删除。

 

以下代码是从国外网站找来,虽然很精简,但是经测试是可用的。

 

public class TableWithOverwrite extends JTable {
public final static String EXCLUDE = "F2";

private boolean isBlankEditor = false;

public TableWithOverwrite() {
super();
}

public TableWithOverwrite(TableModel tm) {
super(tm);
}

@Override
public Component prepareEditor(TableCellEditor editor, int row, int column) {
Component c = super.prepareEditor(editor, row, column);

if (isBlankEditor)
((JTextField) c).setText("");

return c;
}

@Override
protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed) {
if (! EXCLUDE.equals(KeyEvent.getKeyText(e.getKeyCode())))
isBlankEditor = true;

boolean retValue = super.processKeyBinding(ks, e, condition, pressed);

isBlankEditor = false;
return retValue;
}
}

分享到:
评论

相关推荐

    JAVA的JTable常用方法[借鉴].pdf

    `setValueAt`方法覆盖了默认行为,使得在表格中输入时可以进行特定的处理,比如限制输入的最大字符数。 总的来说,这段代码展示了如何创建和定制`JTable`,以及如何将其嵌入到GUI中,提供用户友好的数据查看和交互...

    java个人图书管理系统

    在数据写入时,我们需要确保文件操作的正确性,避免覆盖已有数据或丢失信息,通常会采用追加模式(`append=true`)进行写入。 2. **数据读取**:除了写入数据,系统还需要读取存储的图书信息。Java提供了多种方式来...

    Java用Swing开发的固定资产管理系统(完整版+源码).zip

    在固定资产管理系统中,模型层负责数据的处理和存储,视图层是用户看到的界面,控制器则是连接模型和视图的桥梁,处理用户输入并更新界面。 3. **事件监听**:Swing 使用事件监听机制处理用户交互。例如,当用户...

    Java+Swing+Txt实现通讯录管理系统

    在添加、删除或修改联系人时,需要对文件进行相应的读取、修改和覆盖操作。 5. **数据结构与类设计** 系统可能定义了一个Contact类,包含姓名、电话、邮箱等字段,以及相应的getter和setter方法。为了方便管理,...

    售楼管理系统 java-swing

    在售楼系统中,可能会用到JButton来执行查询、添加、修改、删除等操作,JLabel显示信息提示,JTextField和JTextArea用于输入和展示数据,而JComboBox则可能用于选择房屋类型或客户类别。 事件处理是Swing应用的核心...

    JavaGUI程序设计

    Java通过实现EventListener接口并覆盖其方法来处理这些事件。例如,我们可以为按钮添加ActionListener,监听点击事件,并在事件触发时执行相应的操作。 此外,Swing还提供了模型-视图-控制器(MVC)的设计模式,...

    java swing 工具箱

    Swing使用事件监听器(EventListener)模式来响应用户的操作,如按钮点击、键盘输入等。例如,你可以添加ActionListener到JButton以响应点击事件。 Swing还提供了模型-视图-控制器(MVC)设计模式,这使得代码结构...

    Java Swing(第二版)

    4. **模型-视图-控制器(MVC)模式**:Swing组件大多遵循MVC设计模式,使得组件的功能、数据和表现分离,有利于代码的可维护性和可扩展性。例如,JTable组件的模型(TableModel)负责数据存储,视图(Table)负责...

    swing仓库管理

    3. **模型-视图-控制器(MVC)**:Swing遵循MVC设计模式,使得程序结构清晰,便于维护。例如,JTable组件使用TableModel来存储数据,视图部分则是JTable本身,而控制器处理用户的交互事件。 4. **事件处理**:Swing...

    swing 应用程序框架

    Swing框架的核心组件包括JFrame、JPanel、JButton、JLabel、JTextArea、JTable等,这些组件覆盖了日常开发中的各种需求。例如,JFrame是窗口的基础,可以添加其他组件;JPanel则常用来作为容器,容纳其他组件;...

    java中MVC与LookAndFeel类及自创界面ExtraLAF

    控制器(Controller)处理用户输入,当用户操作界面元素时,控制器接收到事件,然后更新模型或视图。例如,用户点击“保存”按钮时,控制器会调用模型的保存方法,然后可能更新状态栏显示“已保存”。 LookAndFeel...

    基于java的学生课程管理系统.zip

    测试用例应该覆盖所有可能的输入情况,包括边界条件和异常情况。 9. **版本控制** 开发过程中,Git作为版本控制系统,可以追踪代码变更,方便团队协作和代码回溯。 10. **软件工程实践** 遵循良好的编码规范,...

    基于Java的源码-JFCSwing用户图形界面 SwingML.zip

    5. **可定制性**:Swing组件是可定制的,允许开发者通过重绘(paintComponent方法)和覆盖其他方法来自定义外观和行为。 6. **NimbusLookAndFeel**:Swing提供了多种外观和感觉(LookAndFeel),比如Metal、Motif和...

    swing rich client

    8. **JTable和JTree**:Swing提供了JTable和JTree组件,用于展示和操作表格数据和树形结构数据。这些组件可以与模型类(TableModel和TreeModel)配合使用,实现数据的动态更新和交互。 9. **Swing Worker**:为了...

    Java图形设计卷2swing

    - Swing允许通过继承组件并覆盖方法来自定义行为和外观,比如通过重写paintComponent方法实现自绘。 - JComponent类提供了许多方法来实现定制,如setOpaque、paintBorder、paintComponent等。 5. **Swing特有特性...

    Java编写的万年历代码

    Java编写的万年历代码是一种实现日历功能的程序,它可以显示从公元1年开始到公元9999年的所有日期,覆盖了相当长的时间跨度,因此被称为“万年历”。在Java编程中,实现万年历涉及到日期和时间处理、循环逻辑以及...

    java swing.rar

    4. **模型-视图-控制器(MVC)模式**:Swing遵循MVC设计模式,组件的逻辑(模型)与其显示(视图)分离,可以独立修改和更新。例如,JTable和DefaultTableModel展示了这种分离。 5. **可定制外观(Look and Feel)*...

    Java swing学生信息管理系统

    2. **模型-视图-控制器(MVC)模式**:Swing应用程序通常遵循MVC设计模式,将数据模型、用户界面(视图)和业务逻辑(控制器)分离。在这个系统中,学生信息模型将存储所有学生的数据,视图负责展示这些信息,而控制...

    Java 2 图形设计卷II.rar

    5. **JTextArea**和**JTextField**: 这两者都是文本输入组件,JTextArea支持多行文本输入,而JTextField仅支持单行文本。 6. **JTable**: JTable允许在表格形式中展示数据,可以进行排序、选择和编辑。 7. **JList...

Global site tag (gtag.js) - Google Analytics