swing关于jtable的putClientProperty("terminateEditOnFocusLost", Boolean.TRUE)的问题

在Swing应用中使用JTable时,遇到一个编辑问题:当在JTable单元格编辑并切换到其他控件时,未保存的编辑内容无法获取。为解决此问题,通常会设置`putClientProperty("terminateEditOnFocusLost", Boolean.TRUE)`,确保焦点丢失时结束编辑。然而,这会导致在双击另一个JTable单元格时出现空指针异常。经过分析,发现在JTable的focusLost事件中处理这个问题可以避免异常,从而实现正常编辑切换。" 124525209,7818857,MAX96718F解串器芯片详解:工作原理与配置,"['单片机', '物联网', '串行通信']
摘要由CSDN通过智能技术生成

    

    在netbeans上做一个swing,但是出现问题,如果我正在jtable上编辑完一个cell的时候,去点击其他的按钮或者控件,那么正在编辑的那个cell的内容是取不到的,比如说我正在编辑第二行第三列的时候,输入500,然后点击其他按钮,此时jtable上面这个cell的背景是黑色的,或者是正在编辑的状态,我是取不到这个500的。

        要想解决这个问题,必须要在jtable构建的时候,加上一句putClientProperty("terminateEditOnFocusLost", Boolean.TRUE),这一句的作用是:当从当前的jtable移到其他地方,也就是其他控件的时候,当前编辑的数据就会固定了,也就是使之不处于编辑状态,从而让其他控件可以访问这些输入。

        但是我在实际开发的时候,发现一个问题:如果其他控件是一个按钮等不是jtable的时候,没有问题,如果是另一个jtable的时候就有问题(也就是我在一个jtable上面输入,然后再双击另一个jtable的cell进行编辑的时候)会出现一个空指针异常

         java.lang.NullP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值