自定义documentListeners和formattedTextField不能很好地配合使用,最好不要混用。而是在侦听其editValid属性更改的文本字段上使用PropertyChangeListener:每当更改为false时,您就可以通知用户
field.addPropertyChangeListener(new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { LOG.info("" + evt); if ("editValid".equals(evt.getPropertyName()) && Boolean.FALSE.equals(evt.getNewValue())) { SpinnerNumberModel model = (SpinnerNumberModel) spin2.getModel(); JOptionPane.showMessageDialog(null, "Error: Number must be in range [" + model.getMinimum() + " ..." + model.getMaximum() + "]","Error Massage", JOptionPane.ERROR_MESSAGE); } }});
顺便说一句,就我个人而言,我同意Mad的看法-这样的侵入性通知会惹恼我,也可能会惹恼您的用户。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)