在焦点转移期间,是否有一种方法可以验证相关字段,以使JComponents(a,b,c)之间的焦点转移不被否决,而对某些外部元素(例如d)的焦点转移则被否决?
做这种事情的最自然的地方似乎在InputVerifier.shouldYieldFocus()
中;但是,我当时没有办法获得(下一个)焦点目标。
最佳答案
InputVerifier机制不支持。并且可能不应该处于该粒度级别,因为它可能导致将焦点放在d中的无效数据上。
假定一个InputVerifier确实知道相反的组件(即潜在的下一个focusOwner),并且其数据无效
shouldYieldFocus中的
(与Rob的建议btw具有相同的总体效果,只是a的InputVerifier从未运行)
总体而言,内置的验证支持不是很强大-开发人员还有很多工作要做。您需要做的一些事情
使用像f.i. JGoodies验证可能更容易。
关于java - Java Swing相关字段验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7001985/