मेरे पास एक आईसीएल मॉडिफायर वाला टेबलवीयर है जो ठीक काम करता प्रतीत होता है। मैंने सेल संपादकों में से एक पर एक आईसीएलएडिटर वैलिडेटेटर सेट किया है, और मैं इसे जिस तरह से पसंद करूंगा उससे व्यवहार नहीं कर सकता। यहां मेरा संक्षिप्त कोड दिया गया है:मुझे ICellEditorValidator द्वारा पता लगाई गई सत्यापन त्रुटि को कैसे प्रदर्शित करना चाहिए?
cellEditors[1] = new TextCellEditor(table);
cellEditors[1].setValidator(new ICellEditorValidator() {
public String isValid(Object value) {
try {
Integer.parseInt((String) value);
return null;
} catch(NumberFormatException e) {
return "Not a valid integer";
}
}
});
यह ज्यादातर ठीक काम करता है।
- सेल संशोधक की
modify
विधि सत्यापनकर्ता एक त्रुटि देता है, तो नया मूल्य के रूप में एक अशक्त प्राप्त करता है: लेकिन, इसमें दो मुद्दे हैं। मैं इसे नियंत्रित करने के लिए कोड कर सकता हूं, लेकिन यह सही प्रतीत नहीं होता है। शून्य मान्य मान हो सकता है, उदाहरण के लिए, यदि उपयोगकर्ता पृष्ठभूमि रंग चुन रहा है और उन्होंने पारदर्शी चुना है। (यह एक सामान्य मुद्दा है, जो इस उदाहरण के लिए विशिष्ट नहीं है।) - सत्यापनकर्ता का त्रुटि संदेश उपयोगकर्ता को कभी प्रदर्शित नहीं किया गया है। यह बड़ी समस्या है। अंतिम मान अमान्य था, तो मैं भी एक आईसीएलएडिटर लिस्टर और
applyEditorValue
विधि से एक संवाद प्रदर्शित कर सकता हूं। क्या यह ऐसा करने के लिए "उचित" तरीका है?
वैसे, मेरे नियंत्रण से परे कारणों से, मैं ग्रहण 3.0 ढांचे तक सीमित हूं।